Introduction à la méthode de comptage du nombre d'éléments dans des tableaux multidimensionnels en PHP (avec code)

不言
Libérer: 2023-04-05 17:34:01
avant
5093 Les gens l'ont consulté

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
Copier après la connexion

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')
Copier après la connexion

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
Copier après la connexion

Vous pouvez également utiliser array_map

$arrCount = 0;
$countFun = function($a) use(&$arrCount) {
$arrCount += count($a);
return $arrCount;
};
array_map($countFun,$arr);
echo $arrCount;
Copier après la connexion

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) {
Copier après la connexion
$arrCount += count($a, 1) - count($a);
return $arrCount;
};
array_map($countFun,$arr);
echo $arrCount;
Copier après la connexion

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) {
Copier après la connexion
$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;
Copier après la connexion

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'
        ],
    ],
],
];
Copier après la connexion
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;
Copier après la connexion

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!

Étiquettes associées:
php
source:segmentfault.com
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal