在php中,可以使用count()函數(shù)來(lái)求二維數(shù)組的長(zhǎng)度,該函數(shù)可以統(tǒng)計(jì)出數(shù)組里所有元素的數(shù)量,也就是數(shù)組的長(zhǎng)度;當(dāng)該函數(shù)的第二個(gè)參數(shù)設(shè)置為“COUNT_RECURSIVE”或者1就可遞歸的計(jì)算數(shù)組中元素的個(gè)數(shù),也就是求出二維數(shù)組的長(zhǎng)度,語(yǔ)法為“count(二維數(shù)組,COUNT_NORMAL)”或“count(二維數(shù)組,1)”。
本教程操作環(huán)境:windows7系統(tǒng)、PHP8.1版、DELL G3電腦
在php中,可以使用count()函數(shù)來(lái)求二維數(shù)組的長(zhǎng)度。
我們都知道一維數(shù)組的數(shù)組長(zhǎng)度可以使用count()函數(shù)來(lái)求,其實(shí)二維數(shù)組的長(zhǎng)度也可以使用count()函數(shù)來(lái)求。
只需要給count()函數(shù)傳遞二個(gè)參數(shù):第一個(gè)參數(shù)為$array,指定要計(jì)數(shù)的數(shù)組;而第二個(gè)參數(shù)為$mode,值設(shè)置為 COUNT_RECURSIVE
或者 1
,這樣count()函數(shù)就會(huì)遞歸地計(jì)算出數(shù)組中元素個(gè)數(shù),對(duì)于計(jì)算多維數(shù)組的元素個(gè)數(shù)尤為有用。
示例:二維數(shù)組的長(zhǎng)度
<?php header("Content-type:text/html;charset=utf-8"); $arr= array( "張三", 25, array("高數(shù)","PHP教程","英語(yǔ)") ); var_dump($arr); echo "二維數(shù)組長(zhǎng)度為:".count($arr,1); ?>
看了上面的輸出結(jié)果,是不是感到疑惑,數(shù)組中不是只有5個(gè)元素("張三"
、25
、"高數(shù)"
、"PHP教程"
、"英語(yǔ)"
)嗎,為什么結(jié)果顯示的數(shù)組長(zhǎng)度不是5,而是6呢?
其實(shí)是因?yàn)椋藭r(shí)count()函數(shù)循環(huán)統(tǒng)計(jì)二維數(shù)組中的所有元素,“array("高數(shù)","PHP教程","英語(yǔ)")
”會(huì)被當(dāng)做一個(gè)整體統(tǒng)計(jì)一次,它里面的元素("高數(shù)"
、"PHP教程"
、"英語(yǔ)"
)又會(huì)被統(tǒng)計(jì)一次,所以最終結(jié)果為 6。
說(shuō)明:
PHP 為我們提供了兩個(gè)函數(shù)來(lái)計(jì)算數(shù)組的長(zhǎng)度,分別是 count() 和 sizeof() 函數(shù);但sizeof() 函數(shù)是 count() 函數(shù)的別名,也就是所 sizeof() 函數(shù)的功能及使用方法與 count() 函數(shù)完全相同。
count()函數(shù)的語(yǔ)法:
count($array [, $mode = COUNT_NORMAL])
- $array:為待統(tǒng)計(jì)的數(shù)組或?qū)ο螅?/li>
- $mode:為可選參數(shù),可以省略。
- 如果省略 $mode 參數(shù),或者將其設(shè)置為 COUNT_NORMAL 或者 0,count() 函數(shù)將不檢測(cè)多維數(shù)組;
- 如果 $mode 設(shè)置為 COUNT_RECURSIVE 或者 1,count() 函數(shù)將遞歸計(jì)算數(shù)組中元素的個(gè)數(shù),對(duì)于計(jì)算多維數(shù)組的元素個(gè)數(shù)尤為有用。
提示:如果 $array 既不是數(shù)組,也不是對(duì)象,count() 函數(shù)將返回 1;如果 $array 等于 NULL,則 count() 函數(shù)返回 0。
推薦學(xué)習(xí):《PHP視頻教程》