Maison >développement back-end >tutoriel php >Comment supprimer efficacement les éléments vides d'un tableau PHP ?

Comment supprimer efficacement les éléments vides d'un tableau PHP ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-29 01:11:11616parcourir

How to Effectively Remove Empty Elements from a PHP Array?

Comment supprimer les éléments vides du tableau

Votre code pour supprimer les éléments vides du tableau $linksArray ne fonctionne pas comme prévu. En effet, unset($link) supprime uniquement la référence à la variable $link, pas l'élément lui-même du tableau.

La fonction empty() ne fonctionnera pas non plus car elle vérifie si une variable est vide. , pas un élément de tableau.

Pour supprimer des éléments vides d'un tableau, vous pouvez utiliser la fonction array_filter(). array_filter() prend un tableau et une fonction de rappel comme arguments. La fonction de rappel est appliquée à chaque élément du tableau et l'élément est supprimé du tableau si la fonction de rappel renvoie false.

Dans votre cas, vous pouvez utiliser le code suivant pour supprimer les éléments vides de $linksArray :

$linksArray = array_filter($linksArray);

Cependant, si vous devez conserver des éléments qui sont exactement la chaîne '0', vous aurez besoin d'un fichier personnalisé rappel :

// PHP 7.4 and later
print_r(array_filter($linksArray, fn($value) => !is_null($value) && $value !== ''));

// PHP 5.3 and later
print_r(array_filter($linksArray, function($value) { return !is_null($value) && $value !== ''; }));

// PHP < 5.3
print_r(array_filter($linksArray, create_function('$value', 'return $value !== "";')));

Remarque : Si vous devez réindexer le tableau après avoir supprimé les éléments vides, utilisez :

$linksArray = array_values(array_filter($linksArray));

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