我有一個這樣的陣列:排序多維數組
Array (
[0] => Array (
[tag] => /nn
[count] => 55
)
[1] => Array (
[tag] => /vb
[count] => 7
)
)
,我想排序。在這個例子中,它已經像我想要的那樣。按數量排序。如果是反向排序呢?有什麼功能可以對它進行分類?
非常感謝。
我有一個這樣的陣列:排序多維數組
Array (
[0] => Array (
[tag] => /nn
[count] => 55
)
[1] => Array (
[tag] => /vb
[count] => 7
)
)
,我想排序。在這個例子中,它已經像我想要的那樣。按數量排序。如果是反向排序呢?有什麼功能可以對它進行分類?
非常感謝。
檢查這個代碼
function aasort (&$array, $key) {
$sorter=array();
$ret=array();
reset($array);
foreach ($array as $ii => $va) {
$sorter[$ii]=$va[$key];
}
asort($sorter);
foreach ($sorter as $ii => $va) {
$ret[$ii]=$array[$ii];
}
$array=$ret;
}
aasort($your_array,"order");
或者
我通常使用usort,並通過我自己的比較函數。在這種情況下,它非常簡單:
function sortByOrder($a, $b) {
return $a['order'] - $b['order'];
}
usort($myArray, 'sortByOrder');
希望你能找到你的答案。標記我的答案,並指出我,謝謝。
$count = array();
// Obtain a list of columns
foreach ($array as $key => $row) {
$count[$key] = $row['count'];
}
//sort by count descending
array_multisort($count, SORT_DESC, $array);
我已經寫了一個功能here,允許您選擇要使用排序哪個鍵。你甚至可以爲二級,三級等排序指定多個鍵。
有了這個make_comparer
功能,您將排序是這樣的:
uasort($array, make_comparer('count'));
有'sort()'。 –