您好我找到了关于排序多维数组的其他主题,但它不是同一个问题
child != null
我想对子数组中的值进行排序,而不是子数组之间的值。
预期结果是
<?php
$arr[22][] = 45;
$arr[22][] = 44;
$arr[22][] = 99;
$arr[23][] = 95;
$arr[23][] = 55;
$arr[23][] = 1;
echo "<pre>";
print_r($arr);
echo "</pre>";
我尝试
[22] => Array [0 ] => 44 [1] => 45 [2] => 99
[23] => Array [0 ] => 1 [1] => 55 [2] => 95
但无论如何它都不正确。
我该怎么办?
答案 0 :(得分:1)
足够简单:
foreach($arr as &$v) {
sort($v);
}
&$v
允许通过引用迭代值,允许在foreach循环内进行修改(从而对每个子数组进行排序)。
答案 1 :(得分:0)
// if arr is a multidimensional array
foreach($arr as &$v)
sort($v[0]); // sort the subarray
unset($v);
如果您打算稍后在另一个foreach中使用$ v 任何!isset($ v [0])可能会感染下一个循环,更奇怪