PHP count():獲取陣列長度

2020-07-16 10:05:12
PHP count() 函數用來獲取陣列長度,也即計算陣列元素的個數。另外,count() 函數還可以統計物件中的屬性個數。

count() 語法如下:

int count ( mixed $arr [, int $mode = COUNT_NORMAL ] )

引數說明:
  • arr 表示要被統計的陣列。
  • mode 表示統計模式,是一個可選引數,預設為 0,不會對多維陣列中的所有元素進行統計。如果將 mode 設定為 COUNT_RECURSIVE 或者 1,count() 將會遞回地對多維陣列的所有元素進行統計。

返回值:返回陣列元素的個數,或者物件屬性的個數。如果 arr 是其它型別的值(不是陣列或者物件),比如是整數、字串等,count() 函數將返回 1。如果 arr 是一個沒有定義的變數,則返回 0。

【範例1】獲取陣列長度:
<?php
$info = array(
    "C語言中文網",
    "http://c.biancheng.net/",
    "7 years old",
    array("C", "C++", "Java", "PHP", "Python")
);
echo count($info) . "<br />";  //結果為4
echo count($info, 1);  //結果為9
?>
執行結果:
4
9

需要注意的是:最後一行程式碼把 mode 設定為 1,count() 會迴圈統計二維陣列的所有元素,此時array("C", "C++", "Java", "PHP", "Python")作為一個整體會被統計一次,它裡面的元素又會被統計一次,所以最終結果為 9。

【範例2】arr 引數既不是陣列也不是物件:
<?php
$url = "http://c.biancheng.net/php/";
$age = 8;
echo count($url) . "<br />";  //結果為1
echo count($age);  //結果為1
?>
執行結果:
1
1