在php中,可以利用count()或sizeof()函數(shù)來判斷數(shù)組中有多少值。count()和sizeof()函數(shù)都可以計算數(shù)組中元素的個數(shù),且sizeof()是count()函數(shù)的別名,用法是一致的,語法“count($arr,$m)”;第二個參數(shù)是用于處理多維數(shù)組的,可省略,若值設置為1或“COUNT_RECURSIVE”,則可計算多維數(shù)組的元素個數(shù)。
本教程操作環(huán)境:windows7系統(tǒng)、PHP8版、DELL G3電腦
php中判斷數(shù)組中有多少值,就是統(tǒng)計數(shù)組中元素的個數(shù),即計算數(shù)組長度。
PHP 為我們提供了兩個函數(shù)來計算數(shù)組的長度,分別是 count() 和 sizeof() 函數(shù)。
注:sizeof() 函數(shù)是 count() 函數(shù)的別名,也就是所 sizeof() 函數(shù)的功能及使用方法與 count() 函數(shù)完全相同。
下面就重點介紹count() 函數(shù)。
count() 函數(shù)可以統(tǒng)計出數(shù)組里所有元素的數(shù)量,或對象中的屬性個數(shù),其語法格式如下:
count($array , $mode )
參數(shù)說明如下:
- $array:為待統(tǒng)計的數(shù)組或對象;
- $mode:為可選參數(shù),可以省略。
- 如果省略 $mode 參數(shù),或者將其設置為 COUNT_NORMAL 或者 0,count() 函數(shù)將不檢測多維數(shù)組;
- 如果 $mode 設置為 COUNT_RECURSIVE 或者 1,count() 函數(shù)將遞歸計算數(shù)組中元素的個數(shù),對于計算多維數(shù)組的元素個數(shù)尤為有用。
提示:如果 $array 既不是數(shù)組,也不是對象,count() 函數(shù)將返回 1;如果 $array 等于 NULL,則 count() 函數(shù)返回 0。
示例1:一維數(shù)組的元素個數(shù)
<?php header("content-type:text/html;charset=utf-8"); $arr=array(1,2,3,4,5,6,7,8,9); var_dump($arr); echo "數(shù)組中有 ".count($arr)."個值"; ?>
示例2:二維數(shù)組的元素個數(shù)
<?php header("Content-type:text/html;charset=utf-8"); $arr= array ("張三", 25, array("高數(shù)","PHP教程","英語"), ); //輸出語句 var_dump($arr); echo "數(shù)組中有 ".count($arr,1)."個值"; ?>
看了上面的輸出結果,是不是感到疑惑,數(shù)組中不是只有5個元素("張三"、25、"高數(shù)"、"PHP教程"、"英語")嗎,為什么結果顯示的數(shù)組長度不是5,而是6呢?
其實是因為,此時count()函數(shù)循環(huán)統(tǒng)計二維數(shù)組中的所有元素,“array("高數(shù)","PHP教程","英語")”會被當做一個整體統(tǒng)計一次,它里面的元素("高數(shù)"、"PHP教程"、"英語")又會被統(tǒng)計一次,所以最終結果為 6。
推薦學習:《PHP視頻教程》