Maison  >  Article  >  développement back-end  >  suppression d'un tableau bidimensionnel php

suppression d'un tableau bidimensionnel php

王林
王林original
2023-05-23 12:05:07595parcourir

En PHP, la suppression d'un tableau à deux dimensions nécessite généralement l'utilisation de boucles et d'instructions conditionnelles. Dans la programmation réelle, nous rencontrons généralement les deux situations suivantes où nous devons supprimer un tableau à deux dimensions :

  1. Supprimer l'élément spécifié : Vous devez trouver le sous-tableau où se trouve l'élément à supprimer et supprimer l'élément spécifié. du sous-tableau.
  2. Supprimer l'intégralité du sous-tableau : vous devez trouver le tableau parent contenant le sous-tableau que vous souhaitez supprimer et supprimer le sous-tableau.

Nous présenterons ci-dessous les modalités spécifiques de mise en œuvre de ces deux types de tâches.

Méthode 1 : Supprimer l'élément spécifié

Pour supprimer un élément spécifié, nous devons parcourir tous les sous-tableaux, trouver le sous-tableau contenant l'élément cible et le supprimer du sous-tableau. Voici un exemple de code qui implémente ce processus :

// 定义一个二维数组
$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);

Après avoir exécuté le code, le résultat est :

Array
(
    [0] => Array
        (
            [id] => 1
            [age] => 20
        )

    [1] => Array
        (
            [id] => 2
            [name] => Jack
            [age] => 25
        )

    [2] => Array
        (
            [id] => 3
            [name] => Mary
            [age] => 30
        )

)

Comme vous pouvez le voir, le code a réussi à supprimer l'élément "name" dans le sous-tableau nommé "Jack".

Méthode 2 : Supprimer l'intégralité du sous-tableau

Dans la programmation réelle, nous pouvons rencontrer des situations où nous devons supprimer l'intégralité du sous-tableau. Par exemple, lors du traitement des résultats d'une requête de base de données, nous devons supprimer les enregistrements non valides de l'ensemble de résultats. Voici un exemple de code qui implémente ce processus :

// 定义一个二维数组
$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);

Après avoir exécuté le code, le résultat est :

Array
(
    [0] => Array
        (
            [id] => 1
            [name] => Tom
            [age] => 20
        )

    [2] => Array
        (
            [id] => 3
            [name] => Mary
            [age] => 30
        )

)

Comme vous pouvez le voir, le code supprime avec succès le deuxième sous-tableau du tableau.

Résumé :

En PHP, la suppression d'un tableau à deux dimensions nécessite généralement l'utilisation de boucles et d'instructions conditionnelles. Pour supprimer l'élément spécifié, nous devons trouver le sous-tableau contenant l'élément cible et le supprimer du sous-tableau ; pour supprimer l'intégralité du sous-tableau, nous devons trouver le tableau parent contenant le sous-tableau cible et supprimer le sous-tableau. Après avoir maîtrisé ces méthodes de base, nous pouvons facilement exploiter et gérer des tableaux bidimensionnels.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn