ホームページ  >  記事  >  バックエンド開発  >  PHPで多次元配列の要素数を数える方法の紹介(コード付き)

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

不言
不言転載
2019-03-23 10:33:175075ブラウズ

この記事では、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 サイトの他の関連記事を参照してください。

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。