Countable::count

(PHP 5 >= 5.1.0, PHP 7)

Countable::count统计一个对象的元素个数

说明

abstract public Countable::count ( void ) : int

当使用 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

User Contributed Notes

SenseException 10-Mar-2014 11:59
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) {
}