@greyson
В PHP есть функция array_multisort, которая позволяет сортировать многомерные массивы по любому измерению (столбцу, строке и т.д.). Пример:
1 2 3 4 5 6 7 8 9 10 11 |
$array = array( array('name' => 'John', 'age' => 25), array('name' => 'Jane', 'age' => 30), array('name' => 'Mike', 'age' => 20) ); // сортировка по возрасту по возрастанию $ages = array_column($array, 'age'); array_multisort($ages, SORT_ASC, $array); print_r($array); |
Результат:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
Array
(
[0] => Array
(
[name] => Mike
[age] => 20
)
[1] => Array
(
[name] => John
[age] => 25
)
[2] => Array
(
[name] => Jane
[age] => 30
)
)
|
В данном примере мы сначала используем функцию array_column для получения массива ages, содержащего значения возраста из первоначального массива. Затем мы используем array_multisort, чтобы отсортировать исходный массив $array по возрастанию значениями массива ages.