1. ホーム
  2. php

[解決済み] PHPです。配列から特定の要素を削除するには?

2022-04-21 07:43:15

質問

要素の値がわかっているときに、配列から要素を削除するにはどうすればよいのでしょうか? たとえば、以下のようになります。

配列があります。

$array = array('apple', 'orange', 'strawberry', 'blueberry', 'kiwi');

を入力すると strawberry

strawberry から削除されます。 $array .

十分に説明すること。

カンマで区切られた項目のリストを保存するデータベースを持っています。このコードでは、ユーザーの選択に基づいて、その選択がどこにあるかというリストを取り込みます。例えば、ユーザーがイチゴを選択した場合、コードはイチゴが配置されているすべてのエントリを取得し、split()を使用してそれを配列に変換します。この配列から、ユーザーが選んだ項目 (この例ではいちご) を削除したいのです。

解決方法は?

使用方法 array_search でキーを取得し、それを unset が見つかれば

if (($key = array_search('strawberry', $array)) !== false) {
    unset($array[$key]);
}

array_search リターン ( ヌル PHP 4.2.0 以降) が、アイテムが見つからなかった場合に使用します。

また、同じ値を持つ項目が複数存在する可能性がある場合は array_keys を使えば、すべての項目のキーを取得できます。

foreach (array_keys($array, 'strawberry') as $key) {
    unset($array[$key]);
}