©
This document uses PHP Chinese website manual Release
(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) {
}