PHPで多次元配列の要素数を数える方法の紹介(コード付き)

不言
リリース: 2023-04-05 17:34:01
転載
5095 人が閲覧しました

この記事では、PHP で多次元配列の要素数をカウントする方法 (コード付き) を紹介します。一定の参考値があります。困っている友人は参考にしてください。お役に立てば幸いです。あなた。

通常の状況では、count を使用して配列内の要素の数を直接数えることができます

$arr = [
'a',
'b',
];
echo count($arr);//2
ログイン後にコピー

しかし、2 桁の配列が見つかった場合は、要素の数を数えたいと考えます。このとき、count 関数の 2 番目のパラメータ
count($arr, $mode = 0);$mode(0: 1 次元のすべての要素をカウント、1: ループcount および traverse elements)
$ の場合、mode=1 の場合、count 関数はループ内の要素の数をカウントします。要素 $a が配列の場合、合計数は $a の要素の数だけ増加します。プラス 1;

$arr = [
'a' => 'b',
'c' => [
    'd',
],
];
echo count($arr, 1);//3('b',['d'],'d')
ログイン後にコピー

2 次元配列であれば、ルールに従って、簡単に 2 次元要素の数を数えることができます

$arr = [
'a' => [
    'd',
    'e',
],
'c' => [
    'd',
    'g',
],
];
echo count($arr, 1) - count($arr);//4
ログイン後にコピー

array_map も使用します

$arrCount = 0;
$countFun = function($a) use(&$arrCount) {
$arrCount += count($a);
return $arrCount;
};
array_map($countFun,$arr);
echo $arrCount;
ログイン後にコピー

$arrCount は参照によって渡す必要があることに注意してください
3 次元配列の要素の数をカウントしたい場合は

$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;
ログイン後にコピー

If 4 次元配列の要素数を数えたい

$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;
ログイン後にコピー

3 次元以上を数えたい場合に使用することをお勧めします。再帰的メソッド

$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;
ログイン後にコピー

この記事はここで終了しました。さらにエキサイティングなコンテンツについては、PHP 中国語 Web サイトの JavaScript ビデオ チュートリアル 列に注目してください。

以上がPHPで多次元配列の要素数を数える方法の紹介(コード付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:segmentfault.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート