(PHP 4, PHP 5)
count — Compte le nombre d'éléments d'un tableau ou le nombre de propriétés d'un objet
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.
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.
Exemple 442. 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;
?>
Exemple 443. 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
(
$food
,
COUNT_RECURSIVE
);
// affiche 8
// count normal
echo
count
(
$food
);
// affiche 2
?>
Voir aussi is_array() , isset() et strlen() .