Извините, если это действительно основной вопрос. Я случайно обнаружил, что asort()
появляется для работы с многомерными массивами:Почему асорт работает с многомерными массивами?
Пример PHP
$animals = array(
1 => array('name' => 'Zebra'),
2 => array('name' => 'Fox'),
3 => array('name' => 'Rabbit'),
4 => array('name' => 'Dog'),
5 => array('name' => 'Cat')
);
asort($animals);
var_dump($animals);
Выход
array
5 =>
array
'name' => string 'Cat' (length=3)
4 =>
array
'name' => string 'Dog' (length=3)
2 =>
array
'name' => string 'Fox' (length=3)
3 =>
array
'name' => string 'Rabbit' (length=6)
1 =>
array
'name' => string 'Zebra' (length=5)
Я хотел бы знать, почему это работает?
Я думал, что asort()
только отсортированные плоские массивы и сортировать многомерные массивы, необходимые для определения пользовательской функции сортировки. Я не могу найти ничего в документации, которая объясняет описанное выше поведение.
Это простой многомерный массив, попробуйте с большим. array_multisort для многомерных массивов – exussum
@ user1281385: 1. В php 2 нет «простых» или «не простых» массивов. 'array_multisort' не для многомерных массивов – zerkms
Вы уверены? http://codepad.org/TC63qGFF Он также работает с простым массивом. – swapnesh