PHP では、配列は頻繁に使用されるデータ型であり、2 次元配列の方が一般的です。 2 次元配列は、他の配列を含む配列、つまり配列内の各要素が配列であると理解できます。場合によっては、2 次元配列から要素を削除したり、特定の値をフィルターで除外したりする必要があります。この記事では、2次元配列から値を削除する方法を紹介します。
まず単純な 2 次元配列を見てみましょう。これが各生徒の名前と年齢を含む生徒のリストであるとします。
$students = array( array("name" => "张三", "age" => 20), array("name" => "李四", "age" => 21), array("name" => "王五", "age" => 22), array("name" => "赵六", "age" => 23) );
次に、生徒を追加する必要があります。 22 歳です。リストから削除されました。これは、配列をループすることで実現できます:
foreach ($students as $key => $student) { if ($student["age"] == 22) { unset($students[$key]); } }
foreach
ループは、各生徒の情報を走査するためにここで使用されます。生徒の年齢が 22 歳に等しい場合は、# を使用します。 ##unset 関数は配列から生徒を削除します。
$key 変数を使用して現在の生徒のインデックスを記録し、
unset 関数を使用して、その生徒に対応する生徒を削除します。索引。配列要素を削除する場合、配列のインデックス値は順番に並べ替えられないことに注意してください。そのため、配列を走査するには
foreach ループを使用するのが最善です。
unset 関数の使用に加えて、PHP の組み込み
array_filter 関数を使用して配列内の値をフィルタリングすることもできます。次のコードを使用して、すべての年齢をフィルタリングできます。 22 歳の学生の場合:
$students = array_filter($students, function($student) { return $student["age"] != 22; });
array_filter 関数の 2 番目のパラメータとして匿名関数が使用されています。データを収集し、生徒の年齢に基づいてフィルタリングします。生徒の年齢が 22 歳に等しくない場合は
true を返し、それ以外の場合は
false を返し、
array_filter 関数は値 # を返します。 ##true
要素は保持され、戻り値 false
を持つ要素はフィルターで除外されます。
関数の使用に加えて、array_reduce
関数を使用してフィルタリング関数を実装することもできます。 array_reduce
この関数は、処理対象の配列、コールバック関数、および初期値の 3 つのパラメーターを受け取ります。コールバック関数は、各配列要素と前のコールバックの結果という 2 つのパラメーターを受け取り、次のコールバックの結果を返します。たとえば、次のコードでは array_reduce
関数を使用して 22 歳の学生をフィルタリングします: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>$students = array_reduce($students, function($result, $student) {
if ($student["age"] != 22) {
$result[] = $student;
}
return $result;
}, array());</pre><div class="contentsignin">ログイン後にコピー</div></div> ここではコールバック関数として匿名関数が使用されています。年齢は 22 歳に等しい。等しくない場合は、生徒を結果の配列に追加し、最後に結果の配列を返します。 array_reduce<p>関数は、各生徒データを処理のためにコールバック関数に渡し、最後にフィルター処理された結果の配列を返します。 <code>
つまり、PHP には、配列から要素を削除したり、特定の値をフィルターで除外したりするなど、配列を処理するためのメソッドが多数用意されています。上記のメソッドに加えて、使用できる PHP 組み込み関数が他にも多数あります。さまざまなシナリオやニーズに合わせて、実際の状況に応じてさまざまな方法を選択できます。
以上がphpは二次元配列から値を削除しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。