PHP では、2 次元配列を削除するには、通常、ループと条件文を使用する必要があります。実際のプログラミングでは、通常、2 次元配列を削除する必要がある次の 2 つの状況に遭遇します。
以下、これら 2 種類のタスクの具体的な実装方法を紹介します。
方法 1: 指定した要素を削除する
指定した要素を削除するには、すべてのサブ配列をループし、ターゲット要素を含むサブ配列を見つけて、それをサブ配列から削除する必要があります。サブ配列の削除。このプロセスを実装するコード例を次に示します。
// 定义一个二维数组 $arr = array( array('id'=>1, 'name'=>'Tom', 'age'=>20), array('id'=>2, 'name'=>'Jack', 'age'=>25), array('id'=>3, 'name'=>'Mary', 'age'=>30) ); $target_key = "name"; // 要删除的元素名称 $target_value = "Jack"; // 要删除的元素值 // 遍历所有子数组 foreach($arr as $key=>$value){ // 判断该子数组是否包含目标元素 if(array_key_exists($target_key, $value) && $value[$target_key] == $target_value){ // 如果找到了目标元素,就从该子数组中删除之 unset($arr[$key][$target_key]); } } // 打印删除后的数组 print_r($arr);
コードを実行すると、出力結果は次のようになります。
Array ( [0] => Array ( [id] => 1 [age] => 20 ) [1] => Array ( [id] => 2 [name] => Jack [age] => 25 ) [2] => Array ( [id] => 3 [name] => Mary [age] => 30 ) )
ご覧のとおり、コードは「Jack」という名前のサブ配列を正常に変更します。 to 「name」要素が削除されます。
方法 2: サブ配列全体を削除する
実際のプログラミングでは、サブ配列全体を削除する必要がある状況に遭遇することがあります。たとえば、データベース クエリの結果を処理する場合、結果セットから無効なレコードを削除する必要があります。このプロセスを実装するコード例を次に示します。
// 定义一个二维数组 $arr = array( array('id'=>1, 'name'=>'Tom', 'age'=>20), array('id'=>2, 'name'=>'Jack', 'age'=>25), array('id'=>3, 'name'=>'Mary', 'age'=>30) ); $target_key = "id"; // 要删除的子数组中包含的元素名称 $target_value = 2; // 要删除的子数组中包含的元素值 // 遍历所有子数组 foreach($arr as $key=>$value){ // 判断该子数组是否包含目标元素 if(array_key_exists($target_key, $value) && $value[$target_key] == $target_value){ // 如果找到了目标元素,就将整个子数组删除之 unset($arr[$key]); } } // 打印删除后的数组 print_r($arr);
コードを実行すると、出力は次のようになります。
Array ( [0] => Array ( [id] => 1 [name] => Tom [age] => 20 ) [2] => Array ( [id] => 3 [name] => Mary [age] => 30 ) )
ご覧のとおり、コードは配列から 2 番目の部分配列を正常に削除します。
概要:
PHP では、2 次元配列を削除するには、通常、ループと条件文を使用する必要があります。指定された要素を削除するには、ターゲット要素を含むサブ配列を見つけてサブ配列から削除する必要があります。サブ配列全体を削除するには、ターゲット要素を含む親配列を見つけてサブ配列を削除する必要があります。これらの基本的な方法をマスターすると、2 次元配列を簡単に操作および管理できるようになります。
以上がPHPの二次元配列の削除の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。