我认为函数array_multisort可以对多维数组进行排序,但这段代码不起作用。
代码:
$values = array(0, 2, 1, array(0, 2, 1));
array_multisort($values, SORT_ASC);
var_dump($values);
返回:
array(4) [
0 => 0
1 => 1
2 => 2
3 => array(3) [
0 => 0
1 => 2 //should be 1
2 => 1 //should be 2
]
]
为什么数组中的数组没有排序?感谢
答案 0 :(得分:3)
你可以尝试
sort_recursive($values);
var_dump($values);
输出
array (size=4)
0 => int 0
1 => int 1
2 => int 2
3 =>
array (size=3)
0 => int 0
1 => int 1
2 => int 2
使用的功能
function sort_recursive(&$array) {
sort($array);
foreach ( $array as &$v ) {
is_array($v) and sort_recursive($v);
}
}
答案 1 :(得分:0)
是因为array()
是多维形式的
尝试此链接,了解如何对多维数组click here
进行排序