php count関数

1666 ワード

配列内のセル数またはオブジェクト内の属性の数を計算します.
int count (mixed $array_or_countable [, int $mode = COUNT_NORMAL ])
/*null   0*/
echo count(null) . '
'; //0 /* 1*/ echo count('null') . '
'; //1 echo count('abc') . '
'; //1 /* 1*/ echo count(1) . '
'; //1 /* */ $arr = [1, 2, 3, 4]; echo count($arr) . '
'; //4 /* */ $arr = [1, 2, 3, 4, [5, 6]]; echo count($arr) . '
'; //5 echo count($arr, 0) . '
'; //5 echo count($arr, COUNT_NORMAL) . '
'; //5 /* */ echo count($arr, 1) . '
'; //7 echo count($arr, COUNT_RECURSIVE) . '
'; //7 /* , 1*/ class User { private $name; private $address; } $user = new User(); echo count($user) . '
'; //1 print_r((array) $user); //Array ( [Username] => [Useraddress] => ) echo count((array) $user) . '
'; //2 /*array like object count */ class User1 extends ArrayObject { public function count() { return 4; } } $user1 = new User1(); echo count($user1) . '
'; //4 /*Countable count */ class User2 implements Countable { public function count() { return 5; } } $user2 = new User2(); echo count($user2) . '
'; //5

まとめ
switch文検出パラメータタイプに入ります.
  • NULLの場合、0
  • に戻ります.
  • 配列であればphp_を呼び出すcount_recursive関数マシン選択配列要素個数
  • オブジェクトの場合は、まず配列オブジェクト(array like object)であるかどうかを確認し、そうである場合は、配列オブジェクトの数
  • を計算する.
  • それ以外の場合、オブジェクトがCountableインタフェースを実装場合、Countableのcountメソッド
  • が呼び出される.
  • 最後に、整数または文字列などの他のタイプは、1を返します.