PHP 8.4.2 Released!

Countable::count

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

Countable::countCount elements of an object

Description

public Countable::count(): int

This method is executed when the value for count() is an object implementing Countable.

Parameters

This function has no parameters.

Return Values

The custom count as an int.

Examples

Example #1 Countable::count() example

<?php

class Counter implements Countable
{
private
$count = 0;

public function
count(): int
{
return ++
$this->count;
}
}

$counter = new Counter;

for (
$i = 0; $i < 10; ++$i) {
echo
"I have been count()ed " . count($counter) . " times\n";
}

?>

The above example will output something similar to:

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
10 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