PHP 5.4.33 Released

Countable::count

(PHP 5 >= 5.1.0)

Countable::countCompte le nombre d'éléments d'un objet

Description

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

Countable::count() est exécutée lorsque la fonction count() est appelée sur un objet qui implémente l'interface Countable.

Liste de paramètres

mode

Le paramètre optionnel mode devra valloir COUNT_NORMAL ou COUNT_RECURSIVE, suivant la valeur passée au second paramètre de la fonction count(). Ceci est particulièrement utile pour compter tous les éléments d'un tableau multidimentionnel / combinaison comptable.

Valeurs de retour

Le nombre compté, sous forme integer.

Note:

La valeur retournée est forcée en integer.

Historique

Version Description
5.6.0 Le paramètre optionnel mode a été ajouté.

Exemples

Exemple #1 Exemple avec 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 
"J'ai été compté " count($counter) . " fois\n";
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

J'ai été compté 1 fois
J'ai été compté 2 fois
J'ai été compté 3 fois
J'ai été compté 4 fois
J'ai été compté 5 fois
J'ai été compté 6 fois
J'ai été compté 7 fois
J'ai été compté 8 fois
J'ai été compté 9 fois
J'ai été compté 10 fois

add a note add a note

User Contributed Notes 1 note

up
-2
SenseException
6 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:

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