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