PHPerKaigi 2024

Countable::count

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

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

说明

public Countable::count(): int

当在实现了 Countable 的对象上执行 count() 函数时,会执行此方法。

参数

此函数没有参数。

返回值

int 形式的自定义计数。

注意:

返回值强制转换为 int

示例

示例 #1 Countable::count() 示例

<?php
class myCounter implements Countable {
private
$count = 0;
public function
count() {
return ++
$this->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

add a note

User Contributed Notes 1 note

up
13
SenseException
9 years ago
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) {
}
To Top