# 筆記_PHP函式_count()/sizeof()|re:(int) --- ###### tags: `PHP` --- [count](https://www.php.net/manual/zh/function.count.php) [The Countable interface](https://www.php.net/manual/zh/class.countable.php) - count() - sizeof() >>> 統計陣列(數組)中的元素個數數量 >>> 以及 >>> **符合Countable (計數器接口)**   **!!重要!!** ```php= var_dump(count(null)); // PHP 7.2 起 var_dump(count(false)); // PHP 7.2 起 ```   **!!重要!!** `Countable` 接口很簡單,如果你的 類 需要一個**统计對象内部某些元素個數的方法**, 你可以使用 Countable 接口 >>> **统計對象内部某些元素個數的方法!!** >>> **统計對象内部某些元素個數的方法!!** >>> **统計對象内部某些元素個數的方法!!** ```php= class User implements Countable { private $arr = array(); public function insert($name){ array_push($this->arr, $name); } public function count(){ return count($this->arr); } } $user = new User(); $user->insert("Shanhuhai"); $user->insert("Wudy"); $user->insert("Wudy_123"); echo $user->count().PHP_EOL; // return 3 ``` --- 公式 **返回int** **不存在返回int(0)** **存在但不是數組返回int(1)** ```php= count ( mixed $array_or_countable [, int $mode = COUNT_NORMAL ] ) : int ``` > `$array_or_countable`: 通常可以為數組或是對象 > `$mode`: 則是選填項目,如果要計算的是二維以上陣列,`$mode` 可以填入 COUNT_RECURSIVE 或數字 1 ,$mode 的預設值為 0,以下是統計的範例。 --- ## 不存在返回int(0) ```php= $a_c = count($a); var_dump($a_c); $b = NULL; $b = count($b); var_dump($b); ``` --- ## 存在但不是數組返回int(1) ```php= $b= 2; $b = 'A'; // string $b =false; // boolen $b = count($b); var_dump($b); ```