PHP 配列を値で削除する(キーではない) 質問する

PHP 配列を値で削除する(キーではない) 質問する

次のような PHP 配列があります:

$messages = [312, 401, 1599, 3, ...];

配列内の値が一意である場合、特定の値を持つ要素を(キーを知らなくても)削除するにはどうすればよいでしょうか?

ベストアンサー1

使用array_search()そしてunset、次のことを試してください。

if (($key = array_search($del_val, $messages)) !== false) {
    unset($messages[$key]);
}

array_search()見つかった要素のキーを返します。これを使用して、 を元の配列から削除できますunset()。失敗した場合は が返されますFALSEが、成功した場合は false-y 値を返す可能性があります (キーが など0)。これが厳密な比較!==演算子が使用される理由です。

ステートメントは値が返されたif()かどうかを確認しarray_search()、返された場合にのみアクションを実行します。

おすすめ記事