COUNT |
Compteur |
|---|---|
| PHP 4.0+ | |
Syntaxe
| function count($tableau); |
| function count($tableau,$mode); |
Paramètres
| Nom | Description | ||
|---|---|---|---|
| $tableau | Ce paramètre permet d'indiquer le tableau à calculer | ||
| $mode | Ce paramètre permet d'indiquer le mode de traitement: | ||
| Constante | Valeur | Description | |
| 0 | Cette valeur permet d'indiquer un calcul sans récursivité. | ||
| COUNT_RECURSIVE | 1 | Cette valeur permet d'indiquer un calcul avec récursivité (en tenant compte de tous les sous tableaux contenu dans le tableau principal). | |
Retour
| Valeur | Description |
|---|---|
| 0 | Cette valeur indique qu'il n'y aucun élément dans le tableau ou qu'il est nulle. |
| 1 ou supérieur | Ces valeurs indique le nombre d'élément du tableau. |
Description
Cette fonction permet de compter le nombre d'élément que contient le tableau.
Remarques
- La fonction count() est essentielle pour évaluer la taille d'un tableau : Elle permet de connaître rapidement le nombre d'éléments contenus dans une structure de données, ce qui est fondamental pour les boucles, les validations ou les statistiques simples.
- Le second paramètre permet un comptage récursif à l'aide de COUNT_RECURSIVE : En mode récursif, la fonction explore les sous-tableaux imbriqués et additionne tous les éléments à tous les niveaux. Cela permet de mesurer la complexité totale d'une structure de données profonde.
- Si aucun mode n'est spécifié, le comportement par défaut est non récursif : Cela signifie que seul le niveau principal du tableau est pris en compte, même si des sous-tableaux sont présents dans les éléments.
- Le résultat peut être 0 si le tableau est vide ou si la variable passée n'est pas un tableau : Ce comportement peut être trompeur si la variable est null ou non initialisée : count() retournera 0, sans avertir de l'invalidité du paramètre.
- count() est couramment utilisé pour tester si un tableau contient des données : Par exemple, if (count($array) > 0) est une condition classique pour exécuter un traitement uniquement si des éléments sont présents.
- Il est recommandé d'utiliser is_array() avant count() pour éviter les erreurs de type : Même si PHP est tolérant, un appel sur une variable non tableau pourrait engendrer un comportement inattendu dans certaines versions strictes du langage de programmation.
- L'utilisation de COUNT_RECURSIVE peut être coûteuse en ressources si le tableau est très profond : Cette option doit être utilisée avec prudence dans des cas où la structure de données est volumineuse ou provient de sources externes non contrôlées.
- Depuis PHP 7.2, un count() sur une variable non tableau ou non Countable génère un avertissement : Cela rend la vérification préalable encore plus cruciale pour éviter des messages d'erreurs lors de l'exécution du code dans des environnements récents.
Exemple
Voici quelques exemples typiques de l'utilisation de cette fonction :
Essayer maintenant !
- <?php
- $montableau = array("ABC","DEF","GHI","JKL");
- $bitableau = array(array("ABC","DEF","GHI","JKL"),array("123","456","789"));
- echo "Chaine de caractères = ".count("ABCDEF")."<br />";
- echo "Tableau linéaire = ".count($montableau)."<br />";
- echo "Tableau bidimensionnel = ".count($bitableau)."<br />";
- echo "Tableau bidimensionnel = ".count($bitableau,0)."<br />";
- echo "Tableau bidimensionnel récursivement = ". count($bitableau,COUNT_RECURSIVE)."<br />";
- ?>
on obtiendra le résultat suivant :
Chaine de caractères = 1Tableau linéaire = 4
Tableau bidimensionnel = 2
Tableau bidimensionnel = 2
Tableau bidimensionnel récursivement = 9
Références
PHP 4 - Guide du développeur, Edition First Interactive, Blake Schwendiman, 2002, ISBN: 2-84427-283-5, page 381
Dernière mise à jour : Mercredi, le 25 mars 2015