我想遍歷一個數(shù)組,foreach以檢查是否存在一個值。如果該值確實存在,我想刪除包含它的元素。我有以下代碼:foreach($display_related_tags as $tag_name) { if($tag_name == $found_tag['name']) { // Delete element }}找到值后,我不知道如何刪除該元素。如何刪除?我必須使用foreach這個問題??赡苡刑娲椒╢oreach,歡迎您共享它們。
3 回答

智慧大石
TA貢獻1946條經驗 獲得超3個贊
如果您還獲得了密鑰,則可以這樣刪除該項目:
foreach ($display_related_tags as $key => $tag_name) {
if($tag_name == $found_tag['name']) {
unset($display_related_tags[$key]);
}
}

九州編程
TA貢獻1785條經驗 獲得超4個贊
更好的解決方案是使用以下array_filter功能:
$display_related_tags =
array_filter($display_related_tags, function($e) use($found_tag){
return $e != $found_tag['name'];
});
如PHP 文檔所述:
由于foreach依賴于PHP 5中的內部數(shù)組指針,因此在循環(huán)中對其進行更改可能會導致意外行為。
在PHP 7中,foreach不使用內部數(shù)組指針。
- 3 回答
- 0 關注
- 3605 瀏覽
添加回答
舉報
0/150
提交
取消