PHP排序子数组值?

PHP排序子数组值?,php,arrays,sorting,Php,Arrays,Sorting,嗨,我找到了关于排序多维数组的其他线程,但这不是同一个问题 <?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>"; 我试着用 foreach($arr as &$v) { sort($v); }

嗨,我找到了关于排序多维数组的其他线程,但这不是同一个问题

<?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>";
我试着用

foreach($arr as &$v) {
    sort($v);
}
但无论如何,这是不正确的

我该怎么办?

很简单:

// if arr is a multidimensional array
foreach($arr as &$v)
    sort($v[0]);  // sort the subarray
unset($v);
和$v
允许通过引用对值进行迭代,允许在foreach循环内进行修改(从而对每个子数组进行排序)

如果您计划稍后在另一个foreach中使用$v
任何isset($v[0])可能会感染下一个循环,wierd(/p>
foreach($arr as&$v){sort($v);}
非常感谢@Calimero
array_walk($arr,'sort')
也应该这样做。对,甚至更好。无论如何,把它贴出来。这看起来和一年前作为评论发布的答案一模一样。此外,如果答案如您所述存在重大问题,则它不会给出适当的答案。
foreach($arr as &$v) {
    sort($v);
}
// if arr is a multidimensional array
foreach($arr as &$v)
    sort($v[0]);  // sort the subarray
unset($v);