3 回答
TA贡献1818条经验 获得超8个赞
foreach不是那样工作的。你实际上unset是在你的 foreach 中创建的“镜像数组”,你不会影响你正在循环的真实数组。
对于您的示例,您可以使用for带有计数器的循环。
for ($i = 0; $i < sizeof($prestation['conciergeries']); $i++) {
unset($prestation['conciergeries'][$i]['facilities']);
}
TA贡献1801条经验 获得超16个赞
是的,您可以取消设置表格unset($prestation['conciergeries']);
,但如果您的意思是清空表格,请使用$prestation['conciergeries'] = [];
TA贡献1831条经验 获得超9个赞
$itemin yourforeach是对变量的正确引用,如果它是一个对象,你可以unset使用它的属性,它会反映在数组中,但是你不能$item直接取消设置,因为它就像foreach循环中的局部变量($item将不再存在未设置后的循环,但数组条目不受影响)。您可以将 foreach 与这样的键一起使用:
foreach($prestation['conciergeries'] as $key => $item){
unset($item->prestation_ids); //will work deleting item property
unset($prestation['conciergeries'][$key]); //use key instead to unset array entry
}
- 3 回答
- 0 关注
- 111 浏览
添加回答
举报