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