在php中,可以利用count()或sizeof()函數(shù)來求二維數(shù)組有多少個(gè)元素;這兩個(gè)函數(shù)都能統(tǒng)計(jì)二維數(shù)組中的元素?cái)?shù)目,語法“count($arr,$m)”或“sizeof($arr,$m)”,只需要將參數(shù)“$m”的值設(shè)置為“1”或者“COUNT_RECURSIVE”即可遞歸計(jì)算數(shù)組中元素的個(gè)數(shù)。
php零基礎(chǔ)到就業(yè)直播視頻課:進(jìn)入學(xué)習(xí)
API 文檔、設(shè)計(jì)、調(diào)試、自動(dòng)化測(cè)試一體化協(xié)作工具:點(diǎn)擊使用
本教程操作環(huán)境:windows7系統(tǒng)、PHP8.1版、DELL G3電腦
求二維數(shù)組有多少個(gè)元素,就是計(jì)算二維數(shù)組的長度。PHP 為我們提供了兩個(gè)函數(shù)來計(jì)算數(shù)組的長度,分別是 count() 和 sizeof() 函數(shù);這兩個(gè)函數(shù)都能處理多維函數(shù)。
注:sizeof() 函數(shù)是 count() 函數(shù)的別名,也就是所 sizeof() 函數(shù)的功能及使用方法與 count() 函數(shù)完全相同。
下面就重點(diǎn)介紹count() 函數(shù)。
count() 函數(shù)可以統(tǒng)計(jì)出數(shù)組里所有元素的數(shù)量,或?qū)ο笾械膶傩詡€(gè)數(shù),其語法格式如下:
count($array , $mode )
參數(shù)說明如下:
- $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。
示例1:count() 函數(shù)計(jì)算二維數(shù)組的長度
<?php header("Content-type:text/html;charset=utf-8"); $arr= array( "張三", 25, array("高數(shù)","PHP教程","英語"), ); //輸出語句 var_dump($arr); echo "二維數(shù)組的長度為:".count($arr,1); ?>
看了上面的輸出結(jié)果,是不是感到疑惑,數(shù)組中不是只有5個(gè)元素("張三
"、25
、"高數(shù)
"、"PHP教程
"、"英語
")嗎,為什么結(jié)果顯示的數(shù)組長度不是5,而是6呢?
其實(shí)是因?yàn)椋藭r(shí)count()函數(shù)循環(huán)統(tǒng)計(jì)二維數(shù)組中的所有元素,“array("高數(shù)","PHP教程","英語")
”會(huì)被當(dāng)做一個(gè)整體統(tǒng)計(jì)一次,它里面的元素("高數(shù)
"、"PHP教程
"、"英語
")又會(huì)被統(tǒng)計(jì)一次,所以最終結(jié)果為 6。
示例2:使用 sizeof() 函數(shù)計(jì)算二維數(shù)組長度
<?php header("Content-type:text/html;charset=utf-8"); $arr = ['php中文網(wǎng)','PHP教程',['https://www.php.cn/','sizeof()函數(shù)','數(shù)組長度']]; //輸出語句 var_dump($arr); echo "二維數(shù)組的長度為:".sizeof($arr, 1); ?>
推薦學(xué)習(xí):《PHP視頻教程》