count
(PHP 4, PHP 5, PHP 7, PHP 8)
count — Compte tous les éléments d'un tableau ou dans un objet Countable
Liste de paramètres
value
-
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 utile
pour compter tous les éléments d'un tableau multidimensionnel.
Attention
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 se contient lui-même plus d'une fois)
et retournera un compteur plus grand que l'attendu.
Valeurs de retour
Retourne le nombre d'éléments dans value.
Antérieur à PHP 8.0.0, si le paramètre n'est ni un tableau, ni un objet
qui implémente l'interface Countable,
1 était retourné, sauf si value
était null, auquel cas 0 était retourné.
Exemples
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));
?>
L'exemple ci-dessus va afficher :
Exemple #2 Exemple de count() avec un argument non Countable|array (contre-exemple - ne pas faire ceci)
<?php
$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)
Fatal error: Uncaught TypeError: count(): Argument #1 ($var) must be of type Countable .. on line 12
Exemple #3 Exemple de récursivité avec count()
<?php
$food = array('fruits' => array('orange', 'banana', 'apple'),
'veggie' => array('carrot', 'collard', 'pea'));
// count récursif
var_dump(count($food, COUNT_RECURSIVE));
// count normal
var_dump(count($food));
?>
L'exemple ci-dessus va afficher :
Exemple #4 Objet Countable
<?php
class CountOfMethods implements Countable
{
private function someMethod()
{
}
public function count(): int
{
return count(get_class_methods($this));
}
}
$obj = new CountOfMethods();
var_dump(count($obj));
?>
L'exemple ci-dessus va afficher :
Voir aussi
- is_array() - Détermine si une variable est un tableau
- isset() - Détermine si une variable est déclarée et est différente de null
- empty() - Détermine si une variable est vide
- strlen() - Calcule la taille d'une chaîne
- is_countable() - Vérifie si le contenu de la variable est une valeur dénombrable
- Les tableaux