Ce que cet article vous apporte est une introduction à la méthode de comptage du nombre d'éléments de tableau multidimensionnels en PHP (avec code). Il a une certaine valeur de référence. Les amis dans le besoin pourront s'y référer. vous être utile.
Dans des circonstances normales, count peut être utilisé pour compter directement le nombre d'éléments dans un tableau
$arr = [ 'a', 'b', ]; echo count($arr);//2
Mais lorsque nous rencontrons un tableau à deux chiffres, nous voulons compter le nombre d'éléments dans le deuxième niveau Nombre, à ce moment vous pouvez utiliser le deuxième paramètre de la fonction count,
count($arr, $mode = 0);$mode(0 : Compter tous les éléments dans une dimension, 1 : Nombre de boucles et éléments traversés)
Lorsque $mode=1, la fonction count comptera le nombre d'éléments dans une boucle Si l'élément $a est un tableau, le nombre total sera augmenté du nombre d'éléments dans $. un plus 1 ;
$arr = [ 'a' => 'b', 'c' => [ 'd', ], ]; echo count($arr, 1);//3('b',['d'],'d')
Tant que si le tableau bidimensionnel est régulier, vous pouvez facilement compter le nombre d'éléments bidimensionnels
$arr = [ 'a' => [ 'd', 'e', ], 'c' => [ 'd', 'g', ], ]; echo count($arr, 1) - count($arr);//4
Vous pouvez également utiliser array_map
$arrCount = 0; $countFun = function($a) use(&$arrCount) { $arrCount += count($a); return $arrCount; }; array_map($countFun,$arr); echo $arrCount;
N'oubliez pas $arrCount Assurez-vous de passer par valeur
Si vous souhaitez compter le nombre d'éléments dans un tableau tridimensionnel
$arr = [ 'a' => [ 'b' => [ 'd', 'e', 'g', ], ], 'c' => [ 'd' => [ 'd', 'g', ], ], ]; $arrCount = 0; $countFun = function($a) use(&$arrCount) {
$arrCount += count($a, 1) - count($a); return $arrCount; }; array_map($countFun,$arr); echo $arrCount;
Si vous souhaitez compter le nombre d'éléments dans un tableau à quatre dimensions
$arr = [ 'a' => [ 'b' => [ 'd' => [ 'e', 'g', ], ], ], 'c' => [ 'd' => [ 'd' => [ 'e', 'g', 'f' ], ], ], ]; $arrCount = 0; $napFun = function($a) use(&$arrCount) {
$countFun = function($a) use(&$arrCount) { $arrCount += count($a, 1) - count($a); return $arrCount; }; array_map($countFun,$a); return $arrCount; }; array_map($napFun,$arr); echo $arrCount;
Si les statistiques sont en 3 dimensions ou plus, il est recommandé d'utiliser la méthode récursive
$arr = [ 'a' => [ 'b' => [ 'd' => [ 'e', 'g', ], ], ], 'c' => [ 'd' => [ 'd' => [ 'e', 'g', 'f' ], ], ], ];
function arrCount($arr, &$arrCount, $level){ if(0 === $level){ $arrCount += count($arr); print_r($arr); }else{ $level--; foreach($arr as $a){ arrCount($a, $arrCount, $level); } } } $count = 0; $level = 3; arrCount($arr,$count,$level); echo $count;
Cet article est terminé ici, d'autres contenus passionnants peuvent être suivis dans la colonne Tutoriel vidéo JavaScript sur le site Web PHP chinois !
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!