Maison  >  Article  >  développement back-end  >  Comment supprimer des éléments d'un tableau à deux dimensions en php

Comment supprimer des éléments d'un tableau à deux dimensions en php

PHPz
PHPzoriginal
2023-04-26 09:10:48639parcourir

En PHP, si nous devons supprimer certains éléments d'un tableau à deux dimensions, nous pouvons utiliser certaines fonctions de tableau de base pour y parvenir. Dans cet article, nous présenterons deux méthodes pour supprimer des éléments des tableaux bidimensionnels en PHP.

Méthode 1 : utilisez les fonctions array_filter et array_map

array_filter peut filtrer les valeurs qui ne remplissent pas les conditions dans le tableau, et array_map peut appliquer la fonction de rappel spécifiée à chaque élément du tableau. Nous pouvons combiner les deux fonctions pour filtrer les éléments du tableau qui remplissent les conditions et terminer l'opération d'élimination.

Par exemple, si l'on doit supprimer tous les éléments dont l'âge est inférieur ou égal à 30 ans du tableau bidimensionnel suivant :

$students = array(
    array('name' => 'John', 'age' => 25, 'grade' => 'A'),
    array('name' => 'Jane', 'age' => 35, 'grade' => 'B'),
    array('name' => 'Bob', 'age' => 28, 'grade' => 'C'),
    array('name' => 'Alice', 'age' => 30, 'grade' => 'D')
);

On peut utiliser le code suivant :

$students = array_map(function($student){
    return array_filter($student, function($value, $key){
        if($key == 'age' && $value <= 30){
            return false;
        }
        return true;
    }, ARRAY_FILTER_USE_BOTH);
}, $students);

Dans ce bloc de code, on Utilisez d'abord array_map pour cartographier le tableau $students Une fonction est appliquée à chaque élément de . Cette fonction utilise la fonction array_filter pour filtrer les éléments qui remplissent les conditions. La condition est que si la valeur clé de l'élément est « age » et que la valeur est inférieure ou égale à 30, elle renvoie false, sinon elle renvoie true. Ensuite, nous réorganisons chaque élément obtenu dans un nouveau tableau bidimensionnel, qui est un nouveau tableau qui élimine les éléments dont l'âge est inférieur ou égal à 30 ans.

Méthode 2 : Utiliser la boucle foreach

Le code de la méthode 1 est relativement long et difficile à comprendre. Nous pouvons utiliser la boucle foreach pour simplifier le code. Pour chaque élément du tableau à deux dimensions, nous pouvons déterminer si la condition de suppression est remplie dans la boucle, et sinon, enregistrer l'indice de l'élément dans un nouveau tableau. Enfin, nous pouvons utiliser la fonction array_diff_key pour comparer le tableau d'origine avec le nouveau tableau afin d'obtenir un nouveau tableau bidimensionnel dont tous les éléments répondant aux conditions ont été supprimés.

Par exemple, si l'on doit supprimer tous les éléments dont l'âge est inférieur ou égal à 30 ans du tableau bidimensionnel suivant :

$students = array(
    array(&#39;name&#39; => 'John', 'age' => 25, 'grade' => 'A'),
    array('name' => 'Jane', 'age' => 35, 'grade' => 'B'),
    array('name' => 'Bob', 'age' => 28, 'grade' => 'C'),
    array('name' => 'Alice', 'age' => 30, 'grade' => 'D')
);

On peut utiliser le code suivant :

$keys = array();
foreach($students as $key => $student){
    if($student['age'] <= 30){
        $keys[] = $key;
    }
}
$students = array_diff_key($students, array_flip($keys));

Dans ce bloc de code, on utilisez une boucle foreach pour parcourir le tableau $students. Pour chaque élément de, si l'âge de l'élément est inférieur ou égal à 30, enregistrez la clé de l'élément dans le tableau $keys. Ensuite, nous utilisons la fonction array_diff_key pour comparer le tableau d'origine et le nouveau tableau afin d'obtenir un nouveau tableau bidimensionnel dont tous les éléments répondant aux conditions ont été supprimés.

Résumé

Les fonctions de tableau de PHP sont puissantes et nous pouvons choisir différentes fonctions pour effectuer différentes tâches en fonction des besoins réels. La méthode 1 utilise les fonctions array_filter et array_map, et le code est relativement long, mais la fonction est plus puissante et flexible ; la méthode 2 utilise une boucle foreach, le code est simple et facile à comprendre et convient au traitement de tableaux plus petits. Quelle que soit la méthode utilisée, notre objectif est de supprimer des éléments du tableau bidimensionnel et d'obtenir l'effet souhaité.

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