Fonctions sur les tableaux
PHP Manual

count

(PHP 4, PHP 5)

countCompte tous les éléments d'un tableau ou quelque chose d'un objet

Description

int count ( mixed $var [, int $mode = COUNT_NORMAL ] )

Compte tous les éléments d'un tableau ou quelque chose d'un objet.

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 utiliser la fonction count() en implémentant l'interface Countable. Cette interface a exactement une méthode, Countable::count(), qui retourne la valeur retournée par la fonction count().

Reportez-vous à la section sur les Tableaux du manuel, pour plus de détails sur le fonctionnement des tableaux en PHP.

Liste de paramètres

var

Le tableau ou l'objet

mode

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.

Attention

La fonction count() peut détecter les récursions afin d'éviter les boucles infinnies, mais émettra une alerte de type E_WARNING à chaque fois qu'une boucle infinie surviendra (dans le cas où un tableau contient lui-même plus d'une boucle infinie) et retournera un compteur plus grand que l'attendu.

Valeurs de retour

Retourne le nombre d'éléments dans var. 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é.

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.

Historique

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

Exemples

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

Exemple #2 Exemple de récursivité avec count()

<?php
$food 
= array('fruits' => array('orange''banana''apple'),
              
'veggie' => array('carrot''collard''pea'));

// count récursif
echo count($foodCOUNT_RECURSIVE); // affiche 8

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

?>

Voir aussi


Fonctions sur les tableaux
PHP Manual