©
                    本文档使用
                    php中文网手册 发布
                
(PHP 5 >= 5.1.0)
Countable::count — 统计一个对象的元素个数
当使用 count() 函数作用于一个实现了 Countable的对象时这个方法会被执行.
此函数没有参数。
The custom count as an integer .
Note:
The return value is cast to an integer .
Example #1 Countable::count() example
  <?php
 class  myCounter  implements  Countable  {
    public function  count () {
        static  $count  =  0 ;
        return ++ $count ;
    }
}
 $counter  = new  myCounter ;
for( $i = 0 ;  $i < 10 ; ++ $i ) {
    echo  "I have been count()ed "  .  count ( $counter ) .  " times\n" ;
}
 ?>   以上例程的输出类似于:
I have been count()ed 1 times I have been count()ed 2 times I have been count()ed 3 times I have been count()ed 4 times I have been count()ed 5 times I have been count()ed 6 times I have been count()ed 7 times I have been count()ed 8 times I have been count()ed 9 times I have been count()ed 10 times
[#1] SenseException [2014-03-10 11:59:25]
Even though Countable::count method is called when the object implementing Countable is used in count() function, the second parameter of count, $mode, has no influence to your class method. 
$mode is not passed to  Countable::count:
<?php
class Foo implements Countable
{
    public function count()
    {
        var_dump(func_get_args());
        return 1;
    }
}
count(new Foo(), COUNT_RECURSIVE);
?>
var_dump output:
array(0) {
}