Forum und email

count

(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 SPL est disponible, vous pouvez vous utiliser 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écursivité infinie.

Caution

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.

Example#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;
?>

Example#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($foodCOUNT_RECURSIVE); // affiche 8

// count normal
echo count($food);                  // affiche 2

?>

Voir aussi is_array(), isset() et strlen().