在先前的文章《PHP數組學習之二維數組創建方法淺析》中,我們介紹瞭如何創建二維數組(多維數組),感興趣的可以去看看。既然有了數組,那就要操作,有時就需要知道數組長度(數組中所有元素的個數)。那麼如何取得二維數組甚至多維數組的數組長度呢?今天我們就來和大家一起了解下。
一維數組的陣列長度我們知道怎麼獲取,很簡單,直接使用count($arr)
就可以了。
<?php header("Content-type:text/html;charset=utf-8"); $arr= array("香蕉","苹果","梨子","橙子","橘子","榴莲"); //输出语句 var_dump($arr); echo "数组长度为:".count($arr); ?>
輸出結果:
是不是很簡單,那是二維陣列呢?二維數組甚至多維數組如何計算數組長度,統計所以元素的個數?
二維陣列也簡單,還是使用count()函數,只需要給count()函數傳遞二個參數:第一個參數和上面一樣為$array,指定要計數的陣列;而第二個參數為$mode
,值設定為COUNT_RECURSIVE
或1
,這樣count()函數就會遞歸地計算出陣列中元素個數。
下面我們透過兩個程式碼實例來具體了解下,利用count()函數如何透過多維數組的陣列長度。
實例1:二維陣列的長度
<?php header("Content-type:text/html;charset=utf-8"); $arr= array ("张三", 25, array("高数","PHP教程","英语"), ); //输出语句 echo "数组长度为:".count($arr,1); ?>
輸出:
数组长度为:6
看了上面的輸出結果,是不是感到疑惑,數組中不是只有5個元素("張三"
、25
、"高數"
、"PHP教程"
、"英文"
)嗎,為什麼結果顯示的陣列長度不是5,而是6呢?
其實是因為,此時count()函數循環統計二維數組中的所有元素,“array("高數","PHP教程","英文")
”會被當做一個整體統計一次,它裡面的元素("高數"
、"PHP教程"
、"英文"
)又會被統計一次,所以最終結果為6。
我們透過var_dump()函數輸出$arr數組,看看它的資料結構,可以直覺的了解count()函數的流程。
實例2:三維陣列的長度
<?php header("Content-type:text/html;charset=utf-8"); $arr = array( '安徽' => array( '合肥'=>array('蜀山区','长丰县','肥东'), '宿州'=>array('墉桥区','灵璧县','泗县') ), '河南' => array( '洛阳'=>array('西工区','老城区','孟津县'), '郑州市'=>array('中原区','金水区') ) ); var_dump($arr); echo "数组长度为:".count($arr,1); ?>
輸出結果:
擴充知識:
計算陣列長度除了可以使用count()函數外,我們還能使用sizeof()函數。 sizeof()函數是count()函數的別名,其功能和使用方法與 count()函數完全一樣的。
好了就說到這裡了,有其他想知道的,可以點選這個喔。 → →php影片教學
最後推薦給大家一個PHP陣列的免費影片教學:PHP函數之array陣列函數影片講解,快來學習吧!
以上是PHP數組學習之二維數組計算數組長度的詳細內容。更多資訊請關注PHP中文網其他相關文章!