PHP では、2 次元配列とは、複数の配列を含む配列を指します。 2 次元配列を使用する場合、サブ配列の 1 つを削除する必要がある場合があります。この記事では、PHP で 2 次元配列を削除する方法を説明します。
PHP の unset() 関数を使用すると、配列要素を含む変数を破棄できます。 unset() 関数を使用して、2 次元配列内の部分配列を削除できます。以下にサンプル コードを示します。
<?php // 定义一个二维数组 $students = array( array("name" => "Tom", "age" => 20, "gender" => "male"), array("name" => "Jerry", "age" => 22, "gender" => "male"), array("name" => "Lisa", "age" => 19, "gender" => "female") ); // 移除第二个子数组 unset($students[1]); // 输出结果 print_r($students); ?>
出力結果は次のとおりです。
Array ( [0] => Array ( [name] => Tom [age] => 20 [gender] => male ) [2] => Array ( [name] => Lisa [age] => 19 [gender] => female ) )
ご覧のとおり、2 番目の部分配列が正常に削除されました。
PHP には、unset() 関数に加えて、要素を削除するために使用できる array_splice() 関数もあります。配列から。配列スライス関数を使用するには、ターゲット配列、削除する要素の開始インデックス、削除する要素の数の 3 つのパラメータを渡す必要があります。サンプル コードは次のとおりです。
<?php // 定义一个二维数组 $students = array( array("name" => "Tom", "age" => 20, "gender" => "male"), array("name" => "Jerry", "age" => 22, "gender" => "male"), array("name" => "Lisa", "age" => 19, "gender" => "female") ); // 移除第二个子数组 array_splice($students, 1, 1); // 输出结果 print_r($students); ?>
出力は上記のサンプル コードと同じです。
特定の条件に従って 2 次元配列から要素を削除する必要がある場合は、foreach ループを使用してすべてのサブ配列を走査できます。の条件部分配列を満たす要素を削除します。以下にサンプル コードを示します。
<?php // 定义一个二维数组 $students = array( array("name" => "Tom", "age" => 20, "gender" => "male"), array("name" => "Jerry", "age" => 22, "gender" => "male"), array("name" => "Lisa", "age" => 19, "gender" => "female") ); // 遍历所有子数组并移除年龄小于 20 的子数组 foreach ($students as $key => $value) { if ($value["age"] < 20) { unset($students[$key]); } } // 输出结果 print_r($students); ?>
出力結果は次のとおりです。
Array ( [1] => Array ( [name] => Jerry [age] => 22 [gender] => male ) )
年齢が 20 未満のサブ配列が正常に削除されたことがわかります。
概要
上記は、PHP で 2 次元配列を削除する 3 つの方法です。特定のニーズに応じて、適切な方法を選択できます。配列から要素を削除した後は、配列のインデックスが変更される可能性があるため、配列のインデックスを再設定するか、array_values() 関数を使用して配列のインデックスをリセットする必要があることに注意してください。
以上がphpは二次元配列を削除しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。