Maison > Article > développement back-end > Comment déterminer si un tableau est vide en php
En PHP, vous devez parfois déterminer si un tableau est vide. Normalement, nous utilisons la fonction empty() ou count() pour déterminer si un tableau est vide, mais si les valeurs de tous les éléments du tableau sont NULL ou 0, ces fonctions peuvent obtenir des résultats erronés. Par conséquent, cet article explique comment déterminer avec précision si un tableau est vide.
1. Limitations de la fonction empty()
La fonction empty() est une fonction couramment utilisée en PHP pour déterminer si une variable est vide. Il peut déterminer si une variable est vide. Si la variable n'est pas définie ou si sa valeur est fausse, '', 0, '0', null, array(), etc., elle renvoie vrai, sinon elle renvoie faux. Par conséquent, pour juger si un tableau est vide, nous écrivons généralement comme ceci :
$arr = array(); if(empty($arr)) { echo '数组为空'; } else { echo '数组不为空'; }
Cette méthode semble simple, mais lorsque les valeurs de tous les éléments du tableau sont NULL ou 0, la fonction empty() retournera c'est vrai, ce n'est évidemment pas le résultat que nous souhaitons. Par exemple :
$arr = array(null, 0, 0.0, false, ''); if(empty($arr)) { echo '数组为空'; } else { echo '数组不为空'; }
Le code ci-dessus renverra le tableau comme vide, ce qui n'est pas correct.
2. Problèmes avec la fonction count()
Une autre méthode couramment utilisée pour déterminer si un tableau est vide consiste à utiliser la fonction count(), qui peut renvoyer le nombre d'éléments dans un tableau. S'il n'y a aucun élément dans un tableau, la fonction count() renvoie 0, sinon elle renvoie le nombre d'éléments dans le tableau. Par conséquent, le code permettant de déterminer si un tableau est vide ressemble généralement à ceci :
$arr = array(); if(count($arr) == 0) { echo '数组为空'; } else { echo '数组不为空'; }
Cependant, lorsque les valeurs de tous les éléments d'un tableau sont NULL ou 0, la fonction count() renverra également 0, ce qui conduira à une erreur de jugement. Par exemple :
$arr = array(null, 0, 0.0, false, ''); if(count($arr) == 0) { echo '数组为空'; } else { echo '数组不为空'; }
Le code ci-dessus renverra le tableau comme vide, ce qui n'est pas le résultat souhaité.
3. Déterminer avec précision si un tableau est vide
Afin de résoudre le problème ci-dessus, nous devons déterminer avec précision si un tableau est vide. Un moyen précis de déterminer consiste à utiliser une boucle foreach pour parcourir le tableau et vérifier si la valeur de chaque élément du tableau est vide. Si un élément non vide est coché, le tableau n'est pas vide, sinon le tableau est vide. Voici l'exemple de code :
function is_empty_array($arr) { foreach($arr as $value) { if(!empty($value)) { return false; } } return true; } $arr = array(null, 0, 0.0, false, ''); if(is_empty_array($arr)) { echo '数组为空'; } else { echo '数组不为空'; }
Le code ci-dessus affichera "le tableau est vide", ce qui est le résultat correct dont nous avons besoin.
Ce qui précède est la méthode PHP présentée dans cet article pour déterminer si un tableau n'est pas vide. L'utilisation d'une boucle foreach pour parcourir le tableau peut éviter les limitations des fonctions empty() et count() et déterminer avec précision si un tableau est vide. .
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!