問題:我有一個關聯多維數組,每個鍵都有一個數組。它看起來像這樣:按特定鍵排序關聯數組
array(3){
[1]=>
"id"=>1
"name"=>"Test #1"
"listorder"=>1
[6]=>
"id"=>6
"name"=>"Test #1"
"listorder"=>3
[2]=>
"id"=>2
"name"=>"Test #2"
"listorder"=>2
}
我需要在不改變任何關鍵數字的排序這個數組由每個陣列的listorder
值。如何才能做到這一點?
我目前正在嘗試這個代碼,我從一個單獨的堆棧溢出問題。
function sort_array(){
foreach($array as $key => $row){
$listorder[$row["id"]] = $row["listorder"];
}
array_multisort($listorder, SORT_ASC, $array);
return $array;
}
但是,這個特定的代碼重寫了所有的鍵號。有沒有改變任何東西的另一種排序方式?
你檢查'usort()'? –
'usort($ myArray,function($ a,$ b){return $ a ['listorder'] - $ b ['listorder'];}' –