SunshinePHP Developer Conference 2015


(PHP 5 >= 5.1.0)

Countable::countCount elements of an object


abstract public int Countable::count ([ int $mode = COUNT_NORMAL ] )

This method is executed when using the count() function on an object implementing Countable.

Elenco dei parametri


The optional mode parameter will be set to COUNT_NORMAL or COUNT_RECURSIVE, depending on what value was passed to the second parameter of count(). This is particularly useful for counting all the elements of a multidimensional array/Countable combination.

Valori restituiti

The custom count as an integer.


The return value is cast to an integer.

Log delle modifiche

Versione Descrizione
5.6.0 The optional mode parameter was added.


Example #1 Countable::count() example

class myCounter implements Countable {
$count 0;
    public function 
count() {
        return ++

$counter = new myCounter;

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

Il precedente esempio visualizzerĂ  qualcosa simile a:

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 add a note

User Contributed Notes 1 note

7 months 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:


class Foo implements Countable
    public function

count(new Foo(), COUNT_RECURSIVE);


var_dump output:

array(0) {
To Top