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 關注
- 132 瀏覽
添加回答
舉報