En PHP, le tableau est une structure de données très couramment utilisée. Nous avons souvent besoin d'utiliser des tableaux dans de nombreux scénarios de programmation. Ainsi, lors du traitement d'un tableau, vous devez souvent vous demander si le tableau est vide et comment obtenir sa longueur.
PHP fournit de nombreuses fonctions pour traiter les tableaux, comme la fonction empty() pour déterminer si le tableau est vide, la fonction isset() pour déterminer si l'élément du tableau existe, la fonction count() pour obtenir la longueur du tableau, etc. Cet article se concentrera sur la façon d'obtenir la longueur d'un tableau qui n'est pas vide.
Lorsque nous utilisons la fonction count() pour obtenir la longueur du tableau, si le tableau est vide, 0 sera renvoyé. Mais dans certains scénarios, vous devez obtenir la longueur du tableau qui n’est pas vide, alors que devez-vous faire ?
Une méthode courante consiste à utiliser une boucle pour parcourir le tableau et compter le nombre d'éléments qui ne sont pas vides. L'implémentation spécifique est la suivante :
function countNotNull($arr){ if(!is_array($arr)) return 0; $count = 0; foreach($arr as $item){ if(!empty($item)){ $count++; } } return $count; } $arr = array(1, null, 3, "", 5, array()); echo countNotNull($arr); // output: 3
Le code ci-dessus détermine d'abord si le tableau est vide et s'il s'agit d'un type de tableau pour éviter les erreurs causées par la transmission de paramètres illégaux. Puis en parcourant chaque élément, comptez le nombre d'éléments qui ne sont pas vides. Renvoyez enfin cette valeur.
Bien que cette méthode soit relativement simple, elle est moins efficace lorsqu'il y a de nombreux éléments du tableau. De plus, l’utilisation répétée de cette fonction peut entraîner une certaine duplication du travail.
Une solution plus efficace consiste à utiliser la fonction array_filter() pour filtrer les éléments vides, puis à utiliser la fonction count() pour obtenir la longueur du tableau. L'implémentation spécifique est la suivante :
function countNotNull2($arr){ if(!is_array($arr)) return 0; $newArr = array_filter($arr); return count($newArr); } $arr = array(1, null, 3, "", 5, array()); echo countNotNull2($arr); // output: 3
Le code ci-dessus juge d'abord la validité des paramètres, puis utilise la fonction array_filter() pour filtrer les éléments vides et renvoie un nouveau tableau. Utilisez ensuite la fonction count() pour obtenir la longueur du nouveau tableau, qui est la longueur du tableau qui n'est pas vide.
Il convient de noter que l'utilisation de la fonction array_filter() filtre les éléments vides (tels que 0, "", null, false, etc.) au lieu de simplement filtrer les chaînes vides.
En bref, en PHP, il existe de nombreuses façons d'obtenir la longueur d'un tableau qui n'est pas vide. Celles ci-dessus ne sont que les plus courantes. Les lecteurs peuvent choisir la méthode appropriée en fonction de leurs besoins réels.
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!