中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php如何統計多維數組元素個數

發布時間:2020-10-28 14:00:56 來源:億速云 閱讀:289 作者:小新 欄目:編程語言

小編給大家分享一下php如何統計多維數組元素個數 ,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

一般情況下,使用count可以直接統計數組的元素個數

$arr = [
'a',
'b',
];
echo count($arr);//2

但是遇到二位數組的時候,我們想統計第二層的元素個數,這個時候可以使用count函數的第二個參數,
count($arr, $mode = 0);$mode(0:統計一維的所有元素,1:循環統計遍歷元素)
在$mode=1的時候,count函數會循環統計元素的個數,如果元素$a是個數組則數量會總數會增加$a元素數加1;

$arr = [
'a' => 'b',
'c' => [
    'd',
],
];
echo count($arr, 1);//3('b',['d'],'d')

只要二維數組有規律,則可以很方便的統計二維的元素個數

$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一定要引用傳值
如果要統計三維數組的元素個數

$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;

如果要統計四維數組的元素個數

$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如何統計多維數組元素個數 的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

内江市| 宜兰市| 五常市| 石屏县| 银川市| 苗栗市| 平原县| 盐城市| 永济市| 乾安县| 和田市| 榆树市| 德江县| 台东市| 大安市| 西安市| 阳曲县| 宁安市| 长春市| 泸定县| 大足县| 江北区| 奉化市| 林州市| 寿阳县| 高尔夫| 略阳县| 潼关县| 社旗县| 许昌市| 繁峙县| 台山市| 青田县| 齐齐哈尔市| 兴仁县| 建始县| 林口县| 龙海市| 库伦旗| 东丽区| 通榆县|