En PHP, le tableau est l'une des structures de données courantes pouvant stocker un ensemble de données ordonnées. Dans les applications pratiques, nous rencontrons souvent des situations où nous devons effacer les valeurs nullesdans un tableau. Cet article présentera plusieurs méthodes pour effacer les tableaux vides.
Méthode 1 : utiliser array_filter()
PHP fournit une fonction intégrée array_filter(), qui peut filtrer les fausses valeurs dans le tableau, y compris les valeurs nulles (null, false, "", 0, " 0", [ ], attendez). L'utilisation de cette fonction est la suivante :
$array = array("a", "", "b", null, false, 0, "0", []); $result = array_filter($array); print_r($result);
Le résultat est le suivant :
Array ( [0] => a [2] => b )
Dans l'exemple ci-dessus, nous définissons d'abord un tableau $array
, contenant des valeurs nulles. Ensuite, nous utilisons la fonction array_filter()
pour filtrer le tableau, enregistrer les résultats filtrés dans la variable $result
et l'imprimer. Comme vous pouvez le constater, toutes les valeurs nulles sont filtrées et seules les valeurs non nulles sont conservées. $array
,包含一些空值。然后我们使用 array_filter()
函数对该数组进行过滤,保存过滤后的结果到 $result
变量中,并打印出来。可以看到,过滤掉了所有的空值,只保留了非空值。
方法二:使用 foreach 循环
除了使用内置函数 array_filter()
之外,我们还可以使用循环语句来清除数组中的空值。具体的实现方式如下:
$array = array("a", "", "b", null, false, 0, "0", []); foreach ($array as $key => $value) { if (empty($value)) { unset($array[$key]); } } print_r($array);
在上面的例子中,我们使用了 foreach 循环遍历数组,判断每一个元素是否为空,如果为空就使用 unset() 函数删除该元素。最后打印出经过删除操作后的数组。输出结果同上。
需要注意的一点是,在循环过程中我们使用了 unset() 函数来删除空值,这可能会改变数组中元素的键名。如果需要保留原来的键名,在删除操作后,需要使用 array_values() 函数对数组进行重置索引。
方法三:自定义函数
另外一种常见的方式是,定义一个自定义的函数,用于清除掉数组中的空值。实现代码如下:
function clean_array($arr) { foreach ($arr as $key => $value) { if (is_array($value)) { $arr[$key] = clean_array($value); } else { if (empty($value)) { unset($arr[$key]); } } } return $arr; } $array = array("a", "", "b", null, false, 0, "0", []); $result = clean_array($array); print_r($result);
在上面的代码中,我们定义了 clean_array()
函数,该函数使用递归的方式遍历数组元素,判断每一个元素是否为空,如果为空就使用 unset() 函数删除该元素。如果该元素是一个数组,那么就递归调用该函数继续清除空值。最后返回经过删除操作后的数组。
总结
本文介绍了几种常见的清除空数组的方法。其中最常用的方式是使用 PHP 内置函数 array_filter()
array_filter()
, nous pouvons également utiliser des instructions de boucle pour effacer les valeurs nullesdans le tableau. L'implémentation spécifique est la suivante : 🎜rrreee🎜Dans l'exemple ci-dessus, nous avons utilisé une boucle foreach pour parcourir le tableau afin de déterminer si chaque élément est vide, s'il est vide, utilisez la fonction unset() pour supprimer l'élément. Enfin, imprimez le tableau après la suppression. Le résultat est le même que ci-dessus. 🎜🎜Une chose à noter est que pendant la boucle, nous utilisons la fonction unset() pour supprimer les valeurs nulles, ce qui peut modifier les noms de clé des éléments du tableau. Si vous devez conserver les noms de clés d'origine, vous devez utiliser la fonction array_values() pour réinitialiser l'index du tableau après l'opération de suppression. 🎜🎜Méthode 3 : Fonction personnalisée🎜🎜Une autre méthode courante consiste à définir une fonction personnalisée pour effacer les valeurs nulles dans le tableau. Le code d'implémentation est le suivant : 🎜rrreee🎜Dans le code ci-dessus, nous avons défini la fonction clean_array()
, qui utilise la récursivité pour parcourir les éléments du tableau afin de déterminer si chaque élément est vide s'il est vide. , Utilisez la fonction unset() pour supprimer l'élément. Si l'élément est un tableau, la fonction est appelée de manière récursive pour continuer à effacer les valeurs nulles. Enfin, le tableau après suppression est renvoyé. 🎜🎜Résumé🎜🎜Cet article présente plusieurs méthodes courantes pour effacer les tableaux vides. La méthode la plus courante consiste à utiliser la fonction intégrée PHP array_filter()
, qui peut filtrer toutes les valeurs nulles à la fois. De plus, nous pouvons également utiliser l'instruction de boucle foreach pour parcourir le tableau, déterminer si chaque élément est vide, puis utiliser la fonction unset() pour supprimer la valeur vide. Enfin, nous pouvons également définir une fonction personnalisée pour effacer les valeurs vides. Cette fonction utilise une méthode récursive pour parcourir les éléments du tableau, déterminer si chaque élément est vide, puis utiliser la fonction unset() pour supprimer l'élément. Enfin, l'objectif de vider le tableau vide est atteint. 🎜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!