Apologies if this is a really basic question. I've inadvertently discovered that asort()
appears to work with multidimensional arrays:
Sample 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);
Output
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)
I'd like to know why this works?
I thought asort()
only sorted flat arrays, and to sort multidimensional arrays you needed to define a custom sort function. I can't find anything in the documentation that explains the above behaviour.