Manuel PHP
Précédent |  | Suivant

# count

(PHP 3, PHP 4, PHP 5)

count -- Compte le nombre d'éléments d'un tableau ou le nombre de propriétés d'un objet

## 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().

Précédent | Sommaire | Suivant
compact | Niveau supérieur | current