PHP は Web 開発で広く使用されているスクリプト言語であり、多くの Web アプリケーションは PHP に基づいて開発されています。 PHP 開発では配列操作が頻繁に行われ、配列内の特定の値を削除することも一般的な操作の 1 つです。この記事では、PHPで2次元配列の特定の値を削除する方法を紹介します。
まず、PHP における配列の基本的な操作を見てみましょう。
$arr = array('a', 'b', 'c');
と
$arr = ['a', 'b', 'c'];
$arr = ['a', 'b', 'c']; echo $arr[0]; // 输出 a
$arr = ['a', 'b', 'c']; foreach ($arr as $value) { echo $value . ' '; }
出力結果は次のとおりです:
a b c
上記は基本的な操作ですPHP における配列の次に、配列内の値の 2 次元メソッドを削除する方法を見てみましょう。
2 次元配列内の特定の値を削除するには、unset() 関数を使用できます。 1 次元配列内の特定の値を削除する場合は、unset() 関数を直接使用できます。ただし、2 次元配列内の特定の値を削除するには、traversal 関数と array_map() 関数という 2 つの方法があります。
配列をトラバースし、unset() 関数を使用して削除します。例は次のとおりです:
$arr = [ ['name' => 'Amy', 'age' => 20], ['name' => 'Bob', 'age' => 22], ['name' => 'Cathy', 'age' => 18] ]; foreach ($arr as $key => $value) { if ($value['name'] == 'Bob') { unset($arr[$key]); } } print_r($arr);
上記のコードを実行します
Array ( [0] => Array ( [name] => Amy [age] => 20 ) [2] => Array ( [name] => Cathy [age] => 18 ) )
2 次元配列を走査して、削除する要素を見つけ、unset() 関数を使用して要素を削除し、最後に残りの配列を出力します。
array_map() 関数は、コールバック関数によって処理された後、1 つ以上の配列の各要素を返すことができます。これを使用して、最初に削除する要素を見つけてから、残りの配列を処理して返します。例は次のとおりです。
$arr = [ ['name' => 'Amy', 'age' => 20], ['name' => 'Bob', 'age' => 22], ['name' => 'Cathy', 'age' => 18] ]; $name = 'Bob'; $arr = array_map(function($value) use ($name) { if ($value['name'] == $name) { return null; } return $value; }, $arr); $arr = array_filter($arr, function($value) { return $value !== null; }); print_r($arr);
上記のコードを実行すると、出力結果は次のようになります。
Array ( [0] => Array ( [name] => Amy [age] => 20 ) [2] => Array ( [name] => Cathy [age] => 18 ) )
上記のコード例では、array_map() 関数が使用されています。まず、use キーワードを介して $name をコールバック関数に渡し、削除する要素を見つけて null を返します。次に、array_filter() 関数を使用して null 要素を除外し、残りの配列を取得します。
概要: PHP で 2 次元配列内の特定の値を削除するには、unset() 関数または array_map() 関数を使用できます。どちらの方法を使用しても二次元配列を処理することができ、実際の使用シーンに応じて選択できます。
以上がPHPで2次元配列内の特定の値を削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。