0
我有下一個數組:PHP usort:按兩個鍵與單一功能
Array
(
[0] => Array
(
[name] => 'Paul'
[value_1] => 3
[value_2] => 2
)
[1] => Array
(
[name] => 'John'
[value_1] => 6
[value_2] => 5
)
[2] => Array
(
[name] => 'Steve'
[value_1] => 1
[value_2] => 9
)
[3] => Array
(
[name] => 'Joe'
[value_1] => 8
[value_2] => 1
)
)
我需要通過按鍵value_1
或value_2
陣列根據情況進行排序。
我這樣做:
<?php
$i = 1;
usort($my_array, 'sortByOrder_'.$i);
$i = 2;
usort($my_array, 'sortByOrder_'.$i);
function sortByOrder_1($a, $b) {
if ($a['value_1'] < $b['value_1'])
return 1;
}
function sortByOrder_2($a, $b) {
if ($a['value_2'] < $b['value_2'])
return 1;
}
?>
有可能在一個單一的功能來統一?事情是這樣的:
function sortByOrder_1($a, $b, $i) {
if ($a['value_'.$i] < $b['value_'.$i])
return 1;
}
您可以張貼預期的結果? – RomanPerekhrest