En PHP, le tableau est l'un des types de données couramment utilisés. En développement, nous devons souvent déterminer si un tableau est vide. Il est très simple de déterminer si un tableau unidimensionnel est vide. Nous pouvons utiliser la fonction empty() ou count() pour le déterminer. Mais pour les tableaux multidimensionnels, la situation est plus compliquée. Cet article explique comment déterminer si un tableau multidimensionnel est vide.
1. Définition d'un tableau multidimensionnel
En PHP, un tableau multidimensionnel est un tableau contenant un ou plusieurs tableaux. Par exemple :
$arr = array( array(1, 2, 3), array(4, 5, 6), array(7, 8, 9) );
2. Méthodes pour déterminer si un tableau unidimensionnel est vide
1 Utilisez la fonction empty() pour déterminer si une variable est vide lorsque la valeur de la variable est 0, '', Lorsqu'elle est nulle, false. , array(), '0', etc. sont utilisés, la fonction empty() retournera true. Par conséquent, pour un tableau unidimensionnel, utilisez simplement la fonction empty() pour déterminer s’il est vide.
$arr = array('a', 'b', 'c'); if(empty($arr)){ echo '数组为空'; }else{ echo '数组不为空'; }
$arr = array('a', 'b', 'c'); if(count($arr)==0){ echo '数组为空'; }else{ echo '数组不为空'; }
3. Méthode pour juger si un tableau multidimensionnel est vide
La méthode ci-dessus ne s'applique pas aux tableaux multidimensionnels. Si vous souhaitez juger si un tableau multidimensionnel est vide, vous pouvez utiliser la méthode récursive pour juger.
1. Utilisez la récursion pour déterminer si un tableau multidimensionnel est vide
Par exemple :
function is_empty_array($arr){ if(!is_array($arr)){//如果不是数组,直接返回false return false; } foreach($arr as $val){ if(is_array($val)){//如果该元素是数组,则递归遍历,直到找到非数组元素 if(!is_empty_array($val)){ return false; } }else{//如果该元素不是数组,则判断其是否为空 if(!empty($val)){ return false; } } } return true; }
La fonction ci-dessus est utilisée pour déterminer si un tableau multidimensionnel est vide. S'il est vide, il renvoie vrai, sinon il renvoie faux. La boucle foreach est utilisée dans la fonction pour parcourir les éléments du tableau. Si l'élément est un tableau, la fonction is_empty_array() est appelée de manière récursive pour continuer à parcourir l'élément, sinon, il est jugé si l'élément est vide ;
Par exemple :
$arr = array( array(1, 2, 3), array(), array(array()), array(''), '', array(array()) ); if(is_empty_array($arr)){ echo '数组为空'; }else{ echo '数组不为空'; }
Le résultat de sortie est "le tableau est vide".
Dans l'exemple ci-dessus, $arr contient plusieurs tableaux, certains tableaux sont vides, certains tableaux contiennent des éléments vides et certains tableaux sont des tableaux imbriqués. Utilisez la fonction is_empty_array() pour déterminer facilement si le tableau est vide.
2. Utilisez la fonction array_filter() pour déterminer si le tableau multidimensionnel est vide
De plus, nous pouvons également utiliser la fonction array_filter() pour déterminer si le tableau multidimensionnel est vide. La fonction array_filter() peut être utilisée pour supprimer les éléments vides d'un tableau et renvoyer un nouveau tableau. Si le tableau renvoyé est vide, le tableau d'origine est vide.
Par exemple :
$arr = array( array(1, 2, 3), array(), array(array()), array(''), '', array(array()) ); $new_arr = array_filter($arr); if(empty($new_arr)){ echo '数组为空'; }else{ echo '数组不为空'; }
Le résultat de sortie est "le tableau est vide".
Dans l'exemple ci-dessus, utilisez la fonction array_filter() pour filtrer les éléments vides du tableau et obtenir un nouveau tableau $new_arr. Si $new_arr est vide, le tableau d'origine est vide.
4. Notes
1. Lorsque vous parcourez des tableaux multidimensionnels de manière récursive, faites attention à déterminer si chaque élément du tableau est un tableau.2. Lorsque vous utilisez la fonction array_filter() pour filtrer un tableau, faites attention au type de valeur de retour. Si vous souhaitez renvoyer la valeur clé du tableau d'origine, vous pouvez utiliser array_filter($arr), sinon vous pouvez. utilisez array_values(array_filter($arr)).
Résumé
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!