在之前的文章《PHP數(shù)組學(xué)習(xí)之二維數(shù)組創(chuàng)建方法淺析》中,我們介紹了如何創(chuàng)建二維數(shù)組(多維數(shù)組),感興趣的可以去看看。既然有了數(shù)組,那就要操作,有時就需要知道數(shù)組長度(數(shù)組中所有元素的個數(shù))。那么如何獲取二維數(shù)組甚至多維數(shù)組的數(shù)組長度呢?今天我們就來和大家一起了解下。
一維數(shù)組的數(shù)組長度我們知道怎么獲取,很簡單,直接使用count($arr)
就可以了。
<?php header("Content-type:text/html;charset=utf-8"); $arr= array("香蕉","蘋果","梨子","橙子","橘子","榴蓮"); //輸出語句 var_dump($arr); echo "數(shù)組長度為:".count($arr); ?>
輸出結(jié)果:
是不是很簡單,那么二維數(shù)組呢?二維數(shù)組甚至多維數(shù)組如何計算數(shù)組長度,統(tǒng)計所以元素的個數(shù)?
二維數(shù)組也簡單,還是使用count()函數(shù),只需要給count()函數(shù)傳遞二個參數(shù):第一個參數(shù)和上面一樣為$array,指定要計數(shù)的數(shù)組;而第二個參數(shù)為$mode
,值設(shè)置為 COUNT_RECURSIVE
或者 1
,這樣count()函數(shù)就會遞歸地計算出數(shù)組中元素個數(shù)。
下面我們通過兩個代碼實例來具體了解下,利用count()函數(shù)如何通過多維數(shù)組的數(shù)組長度。
實例1:二維數(shù)組的長度
<?php header("Content-type:text/html;charset=utf-8"); $arr= array ("張三", 25, array("高數(shù)","PHP教程","英語"), ); //輸出語句 echo "數(shù)組長度為:".count($arr,1); ?>
輸出:
數(shù)組長度為:6
看了上面的輸出結(jié)果,是不是感到疑惑,數(shù)組中不是只有5個元素("張三"
、25
、"高數(shù)"
、"PHP教程"
、"英語"
)嗎,為什么結(jié)果顯示的數(shù)組長度不是5,而是6呢?
其實是因為,此時count()函數(shù)循環(huán)統(tǒng)計二維數(shù)組中的所有元素,“array("高數(shù)","PHP教程","英語")
”會被當(dāng)做一個整體統(tǒng)計一次,它里面的元素("高數(shù)"
、"PHP教程"
、"英語"
)又會被統(tǒng)計一次,所以最終結(jié)果為 6。
我們通過var_dump()函數(shù)輸出$arr數(shù)組,看看它的數(shù)據(jù)結(jié)構(gòu),可以直觀的了解count()函數(shù)的流程。
實例2:三維數(shù)組的長度
<?php header("Content-type:text/html;charset=utf-8"); $arr = array( '安徽' => array( '合肥'=>array('蜀山區(qū)','長豐縣','肥東'), '宿州'=>array('墉橋區(qū)','靈璧縣','泗縣') ), '河南' => array( '洛陽'=>array('西工區(qū)','老城區(qū)','孟津縣'), '鄭州市'=>array('中原區(qū)','金水區(qū)') ) ); var_dump($arr); echo "數(shù)組長度為:".count($arr,1); ?>
輸出結(jié)果:
擴展知識:
計算數(shù)組長度除了可以使用count()函數(shù)外,我們還能使用sizeof()函數(shù)。sizeof()函數(shù)是count()函數(shù)的別名,其功能和使用方法與 count()函數(shù)完全一樣的。
好了就說到這里了,有其他想知道的,可以點擊這個哦?!?→php視頻教程
最后給大家推薦一個PHP數(shù)組的免費視頻教程:PHP函數(shù)之a(chǎn)rray數(shù)組函數(shù)視頻講解,快來學(xué)習(xí)吧!