php中可用count()或sizeof()函數(shù)來統(tǒng)計(jì)數(shù)組中元素的個(gè)數(shù);sizeof()是count()的別名,因此 sizeof()的功能及使用方法與count()完全相同。count()函數(shù)可以統(tǒng)計(jì)出數(shù)組里所有元素的數(shù)量,或?qū)ο笾械膶傩詡€(gè)數(shù),語法“count(array,mode)”,參數(shù)“mode”設(shè)置為“COUNT_RECURSIVE”或“1”可計(jì)算多維數(shù)組的元素個(gè)數(shù)。
本教程操作環(huán)境:windows7系統(tǒng)、PHP8版、DELL G3電腦
在 PHP 中想要統(tǒng)計(jì)數(shù)組元素的數(shù)目其實(shí)很簡(jiǎn)單,PHP 為我們提供了兩個(gè)函數(shù),分別是 count() 和 sizeof() 函數(shù)。
說明:sizeof() 函數(shù)是 count() 函數(shù)的別名,也就是所 sizeof() 函數(shù)的功能及使用方法與 count() 函數(shù)完全相同。
示例:
<?php header("Content-type:text/html;charset=utf-8"); $arr= array("香蕉","蘋果","梨子","橙子","橘子","榴蓮"); //輸出語句 var_dump($arr); echo "數(shù)組長(zhǎng)度為:".count($arr); echo "<br>數(shù)組長(zhǎng)度為:".sizeof($arr); ?>
上例統(tǒng)計(jì)的是一維數(shù)組的元素?cái)?shù)目,但有時(shí)我們需要統(tǒng)計(jì)二維、三維等多維數(shù)組的元素?cái)?shù)目要怎么做?
其實(shí)很簡(jiǎn)單,還是count() 或 sizeof() 函數(shù),只需給其設(shè)置第二個(gè)參數(shù),值為COUNT_RECURSIVE 或者 1即可。
<?php header("Content-type:text/html;charset=utf-8"); $arr= array( "張三", 25, array("高數(shù)","PHP教程","英語") ); //輸出語句 var_dump($arr); echo "數(shù)組長(zhǎng)度為:".sizeof($arr,1); ?>
看了上面的輸出結(jié)果,是不是感到疑惑,數(shù)組中不是只有5個(gè)元素("張三"
、25
、"高數(shù)"
、"PHP教程"
、"英語"
)嗎,為什么結(jié)果顯示的數(shù)組長(zhǎng)度不是5,而是6呢?
其實(shí)是因?yàn)?,此時(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。
擴(kuò)展知識(shí):PHP count() /sizeof() 函數(shù)
下面就來給大家介紹一下count() 函數(shù)來了解一下這兩個(gè)函數(shù)。
count() 函數(shù)可以統(tǒng)計(jì)出數(shù)組里所有元素的數(shù)量,或?qū)ο笾械膶傩詡€(gè)數(shù),其語法格式如下:
count(array,mode)
參數(shù)說明如下:
-
array:為待統(tǒng)計(jì)的數(shù)組或?qū)ο螅?/p>
-
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ù)尤為有用。
推薦學(xué)習(xí):《PHP視頻教程》