1. ホーム
  2. php

[解決済み] foreachループで配列の要素を削除するには?

2022-05-13 16:01:03

質問

配列に foreach でループして、値が存在するかどうかをチェックしたい。値が存在する場合、その値を含む要素を削除したい。

次のようなコードがあります。

foreach($display_related_tags as $tag_name) {
    if($tag_name == $found_tag['name']) {
        // Delete element
    }
}

値が見つかったら、その要素を削除する方法がわかりません。どのように削除すればいいのでしょうか?

私は foreach を使わなければなりません。おそらく代替となる foreach の代替案があると思いますが、それを共有することは歓迎されます。

どのように解決するのですか?

キーも取得できれば、このようにその項目を削除することができます。

foreach ($display_related_tags as $key => $tag_name) {
    if($tag_name == $found_tag['name']) {
        unset($display_related_tags[$key]);
    }
}