En programmation PHP, nous rencontrons souvent des situations où nous devons supprimer des tableaux bidimensionnels vides. Afin d'aider tout le monde à mieux comprendre ce problème et comment le résoudre, cet article abordera en profondeur les méthodes et techniques de suppression de tableaux bidimensionnels vides en PHP.
Avant de commencer à discuter de la façon de supprimer des tableaux bidimensionnels vides, nous devons d'abord comprendre ce qu'est un tableau bidimensionnel. En termes simples, un tableau bidimensionnel est un tableau composé de plusieurs tableaux unidimensionnels. Chaque tableau unidimensionnel représente une collection spécifique de données, et un tableau bidimensionnel combine ces tableaux unidimensionnels.
Par exemple, ce qui suit est un tableau bidimensionnel $employee, qui contient trois tableaux unidimensionnels, chaque tableau unidimensionnel stocke les informations d'un employé :
$employee = array( array('name' => 'Tom', 'age' => 25, 'salary' => 6000), array('name' => 'Jack', 'age' => 28, 'salary' => 8000), array('name' => 'Lucy', 'age' => 24, 'salary' => 5000) );
Dans ce tableau bidimensionnel, chaque tableau unidimensionnel array est un tableau contenant trois éléments, où « nom », « âge » et « salaire » sont des noms clés, et 25, 28 et 24, 6 000, 8 000 et 5 000 sont des valeurs clés. Si nous devons parcourir ce tableau bidimensionnel et effectuer certaines opérations, telles que la sortie du salaire de chaque employé, cela peut être fait de la manière suivante :
foreach($employee as $emp) { echo "The salary of ".$emp['name']." is ".$emp['salary']."<br>"; }
L'instruction foreach ici parcourra l'intégralité du tableau $employee et convertira chacun tableau unidimensionnel dans Attribuez une valeur à la variable $emp, puis affichez le salaire de chaque employé dans le corps de la boucle.
Lorsque nous traitons de tableaux bidimensionnels complexes, nous pouvons rencontrer des tableaux vides, c'est-à-dire qu'il n'y a pas de paires clé-valeur dans le tableau unidimensionnel correspondant à certains éléments. Cette situation n'est pas rare en traitement de données, mais lorsque nous essayons d'effectuer d'autres opérations sur ce tableau bidimensionnel, le tableau vide peut affecter les résultats de nos calculs et l'efficacité du programme. Par conséquent, le tableau bidimensionnel vide doit être supprimé. Voici deux façons de supprimer des tableaux bidimensionnels vides :
Méthode 1 : Utiliser la fonction array_filter
La fonction array_filter est l'une des fonctions de tableau couramment utilisées en PHP. Sa fonction est de filtrer les éléments du tableau et de ne conserver que les éléments du tableau. ceux qui répondent à l’élément de règles spécifié. Nous pouvons supprimer les tableaux vides dans un tableau bidimensionnel grâce à la fonction array_filter. Plus précisément, une fonction anonyme peut être utilisée comme premier paramètre de array_filter. Cette fonction sera appliquée à chaque élément du tableau pour déterminer s'il faut conserver l'élément.
Par exemple, voici un exemple d'utilisation de la fonction array_filter pour supprimer un tableau 2D vide :
$employee = array( array('name' => 'Tom', 'age' => 25, 'salary' => 6000), array('name' => '', 'age' => '', 'salary' => ''), array('name' => 'Lucy', 'age' => 24, 'salary' => 5000) ); $result = array_filter($employee, function($emp) { return count(array_filter($emp)) > 0; }); print_r($result);
Dans cet exemple, nous définissons un tableau 2D nommé $employee qui contient trois tableaux 1D. Le deuxième tableau 1D est vide et nous devons le supprimer. Lors de l'utilisation de la fonction array_filter, nous passons une fonction anonyme comme premier paramètre. Dans cette fonction anonyme, nous exécutons la fonction array_filter sur chaque tableau unidimensionnel pour supprimer les éléments vides. Ensuite, nous comparons s'il y a encore des éléments dans le tableau unidimensionnel. S'il y a des éléments, renvoyons vrai, sinon renvoyons faux. Enfin, la fonction array_filter filtrera le tableau vide en fonction de la valeur de retour de cette fonction anonyme et renverra un tableau non vide.
Méthode 2 : utiliser la boucle foreach
En plus d'utiliser la fonction array_filter, nous pouvons également supprimer les tableaux vides du tableau bidimensionnel via la boucle foreach. Plus précisément, nous pouvons parcourir l'intégralité du tableau bidimensionnel et effectuer un jugement sur chaque tableau unidimensionnel. Si le nombre d'éléments dans ce tableau unidimensionnel est 0, supprimez-le.
Par exemple, voici un exemple d'utilisation d'une boucle foreach pour supprimer un tableau bidimensionnel vide :
$employee = array( array('name' => 'Tom', 'age' => 25, 'salary' => 6000), array('name' => '', 'age' => '', 'salary' => ''), array('name' => 'Lucy', 'age' => 24, 'salary' => 5000) ); foreach($employee as $key => $emp) { if(count(array_filter($emp)) == 0) { unset($employee[$key]); } } print_r($employee);
Dans cet exemple, nous définissons également un tableau bidimensionnel $employee, qui contient trois tableaux unidimensionnels. Utilisez une boucle foreach pour parcourir ce tableau à deux dimensions et effectuer des opérations de jugement sur chaque tableau à une dimension. Nous utilisons la fonction array_filter pour filtrer les éléments vides et obtenir le nombre d'éléments filtrés. Si le nombre d'éléments est 0, cela signifie que le tableau unidimensionnel est vide et doit être supprimé. Nous utilisons la fonction unset pour le supprimer du tableau d'origine. Enfin, nous publions les résultats.
L'utilisation de tableaux bidimensionnels en PHP est une opération très courante Lorsque nous traitons de ces tableaux complexes, nous devons parfois supprimer des tableaux vides pour éviter que les tableaux vides n'aient un impact négatif sur nos calculs. Dans cet article, nous présentons deux méthodes pour supprimer des tableaux bidimensionnels vides en PHP, notamment l'utilisation de la fonction array_filter et l'utilisation d'une boucle foreach. Les deux méthodes ont leurs propres avantages et inconvénients. Nous pouvons choisir la méthode qui nous convient en fonction des besoins réels. . J'espère que cet article sera utile à tout le monde !
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!