我有這樣的陣列排序多維數組由兩個值
Array
(
[arr1] => Array
(
[0] => Array
(
[m] => name1
[p] => 261.15
[f] => 0.30112588
)
[1] => Array
(
[m] => name2
[p] => 214.92
[f] => 0.35793662
)
[2] => Array
(
[m] => name3
[p] => 504.35
[f] => 0.35779595
)
[3] => Array
(
[m] => name3
[p] => 504.35
[f] => 0.31910875
)
[4] => Array
(
[m] => name3
[p] => 504.35
[f] => 0.38972548
)
[5] => Array
(
[m] => name4
[p] => 5500
[f] => 0.50674623
)
[6] => Array
(
[m] => name5
[p] => 600.5
[f] => 0.11483321
)
)
)
我想這樣用higest [「P」]項在上面進行排序數組,但我也想,如果一些項目具有相同的[」 m']和相同['p']的項目與['f']最低的項目相同[[m']和['p'])。
我設法用['p']使用usort函數對這個數組進行排序,但是如果它們具有相同的['m']和['p'],我不能用['f']對它進行排序。
陣列應該是這樣排序後:https://paste.ofcode.org/33h64HtgTsFsT3vWaLHp2Kb
代碼:
$arr = array();
$arr['arr1'] = array();
array_push($arr['arr1'], ['m' => 'name1', 'p' => 261.15 ,'f' => 0.30112588]);
array_push($arr['arr1'], ['m' => 'name2', 'p' => 214.92 ,'f' => 0.35793662]);
array_push($arr['arr1'], ['m' => 'name3', 'p' => 504.35 ,'f' => 0.35779595]);
array_push($arr['arr1'], ['m' => 'name3', 'p' => 504.35 ,'f' => 0.31910875]);
array_push($arr['arr1'], ['m' => 'name3', 'p' => 504.35 ,'f' => 0.38972548]);
array_push($arr['arr1'], ['m' => 'name4', 'p' => 5500 ,'f' => 0.50674623]);
array_push($arr['arr1'], ['m' => 'name5', 'p' => 600.5 ,'f' => 0.11483321]);
您可以發佈您當前的代碼? – Philipp
你可以請你發佈你的代碼,最好是與數組?它會給我們一個簡單的出發點來回答你的問題。現在我們所有的都是數組的輸出。 –
使用[array_multisort](http://php.net/manual/fr/function.array-multisort.php) - 看看鏈接底部的用戶「cagret」和「jimpoz」的例子 – Benfarhat