suppression d'un tableau bidimensionnel php

王林
Libérer: 2023-05-23 12:05:07
original
614 Les gens l'ont consulté

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);
Copier après la connexion

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
        )

)
Copier après la connexion

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);
Copier après la connexion

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
        )

)
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal