Description
int
count ( mixed var [, int mode] )
count() retourne le nombre d'éléments dans
var, qui est généralement un tableau
et tout le reste, sauf les objets, n'aura qu'un élément.
Pour les objets, count() retourne le nombre de
propriétés non-statiques, sans tenir compte de la visibilité. Si vous avez
SPL d'installé, vous pouvez vous
accrocher à la fonction count() en implémentant
l'interface Countable. Cette interface a exactement
une méthode, count(), qui retourne la valeur retournée
par la fonction count().
Si le paramètre var n'est ni un objet, ni un
tableau, 1 sera retourné. Il y a néanmoins une exception
: si le paramètre var vaut NULL, 0 sera retourné.
Note :
Le paramètre optionnel mode est disponible
depuis PHP 4.2.0.
Si le paramètre optionnel mode vaut
COUNT_RECURSIVE (ou 1), count()
va compter récursivement les tableaux. C'est particulièrement pratique
pour compter le nombre d'éléments d'un tableau. La valeur par défaut
pour mode est 0.
count() ne détecte pas la récursion infinie.
| Attention |
count() peut retourner 0 pour une
variable qui n'a pas été affectée, ou pour un tableau
vide. Utilisez plutôt isset()
pour tester si la variable existe.
|
Reportez-vous à la section sur les
Tableaux du manuel, pour plus de
détails sur le fonctionnement des tableaux en PHP.
Exemple 1. Exemple avec count()
<?php $a[0] = 1; $a[1] = 3; $a[2] = 5; $result = count ($a); // $result == 3
$b[0] = 7; $b[5] = 9; $b[10] = 11; $result = count ($b); // $result == 3;
$result = count(null); // $result == 0;
$result = count(false); // $result == 1;
$obj = new StdClass; $obj->foo = 'Une propriété'; $obj->bar = 'Une autre propriété'; $result = count($obj); // $result == 2; ?>
|
|
Exemple 2.
Exemple récursif avec count() (PHP >= 4.2.0)
<?php $food = array( 'fruits' => array('orange', 'banane', 'pommes'), 'legumes' => array('carotte', 'chou','pois'));
// count récursif echo count($food, COUNT_RECURSIVE); // affiche 8
// count normal echo count($food); // affiche 2
?>
|
|
Voir aussi
is_array(),
isset() et
strlen().