Maison > Article > développement back-end > Apprenez à supprimer les éléments vides ou en double des tableaux PHP
Dans notre article précédent, nous avons découvert la méthode de division d'un tableau unidimensionnel en un tableau bidimensionnel contenant un nombre spécifié d'éléments. Si vous êtes intéressé, vous pouvez cliquer sur le lien pour lire → "Apprentissage des tableaux PHP. : Tableau unidimensionnel Devient un tableau bidimensionnel contenant les multiples éléments spécifiés》. Cette fois, nous étudierons et mettrons en pratique les tableaux PHP et expliquerons comment supprimer les vides et les duplications dans les tableaux.
→Recommandations associées : 《Résumé de la série d'apprentissage sur les tableaux PHP (mis à jour en permanence ~)》
Le contenu principal de l'article d'aujourd'hui est de supprimer les éléments vides et les éléments en double dans les tableaux.
Jetons d'abord un coup d'oeilComment supprimer des éléments vides dans un tableau ? Ici, je vais présenter deux méthodes.
Méthode 1, boucle foreach + vide() + unset()
Idée d'implémentation :
Utilisez l'instruction foreach pour parcourir le tableau $array et attribuez le nom de la clé à $key dans chaque boucle. La valeur est attribuée à $value
foreach($array as $key => $value){ }
Dans la boucle, utilisez la fonction empty() pour déterminer si $value est vide. S'il est vide, utilisez unset() pour supprimer l'élément
. Nous donnons ci-dessous le code complet d'implémentation :
<?php header("content-type:text/html;charset=utf-8"); $array = array("php", 11, '', 12, "PHP中文网", '',2021,"mysql"); var_dump($array); // 使用array_filter()函数从数组中移除空元素 $filtered_array = array_filter($array); echo "删除空元素后的数组"; var_dump($filtered_array); ?>
Résultat de sortie :
Description : En PHP, la fonction empty() est utilisée pour vérifier si une variable est considérée comme vide.
empty() la considérera comme vide lorsque la variable est égale à la valeur suivante :
"" (chaîne vide)
0 (0 sous forme d'entier)
0.0 (sous forme de float 0 pour les points)
"0" (0 sous forme de chaîne)
NULL
FALSE
Array() (un tableau vide)
$var (une instruction, mais il n'y a pas de variable de valeur)
Méthode 2. Utilisez la fonction array_filter() pour filtrer
La fonction array_filter() peut utiliser la fonction de rappel pour filtrer les éléments du tableau. Cette fonction parcourt chaque valeur du tableau, en les transmettant à une fonction définie par l'utilisateur ou à une fonction de rappel. Si la fonction de rappel est omise, les valeurs nulles seront filtrées par défaut. (la fonction array_filter() ne changera pas le tableau d'origine)
<?php header("content-type:text/html;charset=utf-8"); $array = array("php", 11, '', 12, "PHP中文网", '',2021,"mysql",""); var_dump($array); // 使用array_filter()函数从数组中移除空元素 $filtered_array = array_filter($array); echo "删除空元素后的数组"; var_dump($filtered_array); ?>
Résultat de sortie :
On peut voir que array_filter() ne réinitialise pas l'index lors du filtrage des éléments du tableau. Après la suppression des éléments vides, l'ordre d'index d'origine est toujours suivi.
Donc, si vous souhaitez réinitialiser l'index et le réorganiser à partir de 0, que devez-vous faire ? Nous pouvons utiliser la fonction array_values()
. array_values()
函数。
var_dump(array_values($filtered_array));
是不是很简单!
上面我们了解了去除空元素的方法,下面我们看看怎么去除重复数组元素。
PHP数组删除重复数组不用借助其他方法,PHP直接就内置了一个函数来实现这个操作,大家知道是什么函数吗?
好了,不买关子了,就是array_unique()
<?php header("content-type:text/html;charset=utf-8"); $array = array("php", 11, '', 11, "PHP中文网",'',"green",2021,"mysql","","green"); var_dump($array); $result = array_unique($array); echo "删除重复元素后的数组"; //var_dump(array_values($filtered_array)); var_dump($result); ?>N'est-ce pas très simple !
Ci-dessus, nous avons appris comment supprimer les éléments vides, voyons maintenant
comment supprimer les éléments de tableau en double.
Il n'est pas nécessaire de recourir à d'autres méthodes pour supprimer les tableaux en double dans les tableaux PHP. PHP a une fonction intégrée pour réaliser cette opération. Savez-vous quelle est cette fonction ?
D'accord, plus de chichi, c'est la fonctionarray_unique()
. S'il y a deux valeurs ou plus dans le tableau qui sont identiques, la fonction array_unique() ne conserve que la première valeur et les autres valeurs sont supprimées. var_dump(array_values($result));Résultat de sortie : la fonction
array_unique() ne réinitialisera pas le nom de clé (index) et le tableau conservé conservera le type de nom de clé du premier élément du tableau. Par conséquent, après avoir utilisé la fonction array_unique() pour supprimer les éléments en double, vous pouvez utiliser la fonction array_values() pour réinitialiser l'index. array_flip(array_flip($array))
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!