(PHP 4, PHP 5, PHP 7)
count — Compte tous les éléments d'un tableau ou quelque chose d'un objet
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.
array_or_countable
Un tableau ou un objet Countable.
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.
La fonction count() peut détecter les récursions
afin d'éviter les boucles infinies, 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.
Retourne le nombre d'éléments dans array_or_countable
.
Quand le paramètre n'est ni un objet, ni un tableau qui implémente
l'interface Countable, 1 sera retourné.
Il y a néanmoins une exception
: si le paramètre array_or_countable
vaut NULL
,
0 sera retourné.
Exemple #1 Exemple avec count()
<?php
$a[0] = 1;
$a[1] = 3;
$a[2] = 5;
var_dump(count($a));
$b[0] = 7;
$b[5] = 9;
$b[10] = 11;
var_dump(count($b));
var_dump(count(null));
var_dump(count(false));
?>
L'exemple ci-dessus va afficher :
int(3) int(3) Warning: count(): Parameter must be an array or an object that implements Countable in … on line 12 // as of PHP 7.2 int(0) Warning: count(): Parameter must be an array or an object that implements Countable in … on line 14 // as of PHP 7.2 int(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($food, COUNT_RECURSIVE); // affiche 8
// count normal
echo count($food); // affiche 2
?>
Version | Description |
---|---|
7.2.0 |
count() va maintenant générer un avertissement sur
des types dénombrables non valides sont passés au paramètre
array_or_countable .
|