// sort by day date keys
ksort($unavailable);
// sort time blocks of day by start_time
foreach($unavailable as $each) {
usort($each['blocks'], function($a, $b) {
return strcmp($a->start_time, $b->start_time);
});
}
正如您所看到的,我们正在尝试按键对数组进行排序,然后使用值start_time
对数组中的块进行排序这就是数组的样子
[
"2015-04-25" => [
"blocks" => [
$object1,
$object2,
$object3
]
]
]
经过一些调试我意识到问题是对块的修改没有反映在原来的$ unavailable数组中,它似乎没有引用相同的数组......
例如:
foreach($unavailable as $each) {
$each['blocks'] = null;
}
// $unavaiable[$date]['blocks'] still has original object(s)
解决方案是什么?
答案 0 :(得分:1)
解决方案是:
$scope.dish = dish;
将foreach ($unavailable as &$each) // see that & here?
添加到&
表示对$each
所做的所有更改都将应用于$each
的元素。
答案 1 :(得分:0)
将其引用到父
$unavailable