抱歉,如果这是一个非常基本的问题。我无意中发现asort() http://php.net/manual/en/function.asort.php似乎适用于多维数组:
示例 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)
我想知道为什么这有效?
我想asort() http://php.net/manual/en/function.asort.php仅排序平面数组,要对多维数组进行排序,您需要定义自定义排序函数。我在文档中找不到任何解释上述行为的内容。
数组按其值按字典顺序进行比较,因此第一个元素为“cat”的数组小于第一个元素为“zebra”的数组。这只是一个正常的单维排序,恰好将数组相互比较。
例如:
php > var_dump(array('a')< array('b'));
bool(true)
php > var_dump(array('a')> array('b'));
bool(false)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)