Эй, ребята. Должно быть простым, не удалось найти правильный ответ по другим вопросам, потому что мой немного отличается.
У меня есть массив, например:
Array ( [0] => Array ( [record_id] => 21 [quality] => 3 ) [1] => Array ( [record_id] => 20 [quality] => 3 ) [2] => Array ( [record_id] => 19 [quality] => 3 ) [3] => Array ( [record_id] => 18 [quality] => 2 ) [4] => Array ( [record_id] => 17 [quality] => 3 ) )
Мне нужно иметь возможность упорядочить массив по наименьшему (относительно ключа quality
) по возрастанию или по убыванию (когда выбран режим), так что, например, мне нужно его заказать массив и вернуть его, например,
function order_array($array, $order = 'asc') { if($order == 'asc') // order the array from lowest to highest if($order == 'desc') // order the array from highest to lowest }
Приветствия.
Проверьте функцию usort
function cmp($a, $b) { if ($a == $b) { return 0; } return ($a < $b) ? -1 : 1; } $a = array(3, 2, 5, 6, 1); usort($a, "cmp");
Используйте функцию usort
:
usort($array, "my_custom_sort_function"); function my_custom_sort_function($a, $b) { return $a['quality'] - $b['quality']; }