我有结构数组:
Array
(
[months] => Array
(
[01] => Array
(
[0] => 16
[1] => 31
)
[02] => Array
(
[0] => 16
[1] => 25
[2] => 10
[3] => 15
)
)
)
现在我尝试在循环中使用uasort
:
foreach ($dates['months'] as $month) {
uasort($month, function($a, $b) {
return $a <=> $b;
});
}
但它没有按天(每月的子阵列)排序 - 为什么?
答案 0 :(得分:2)
您需要在foreach循环中传递$month
并引用
foreach ($dates['months'] as &$month)
uasort(
)通过引用修改数组,但是修改了另一个数组中的数组,因此修改了几个月,但它们没有保存在$ dates变量中。
循环中的print_r($dates['months']);
函数后,uasort()
可以轻松检查它。