COUNT_CHARS |
Compter les caractères |
|---|---|
| PHP 4.0+ | |
Syntaxe
| function count_chars( $string); |
| function count_chars( $string,$mode); |
Paramètres
| Nom | Description | |
|---|---|---|
| $string | Ce paramètre permet d'indiquer la chaîne de caractères à calculer | |
| $mode | Ce paramètre permet d'indiquer le type de statistique à retourner : | |
| Valeur | Description | |
| 0 | Cette valeur permet d'indiquer d'effectuer le calcul de la fréquence de chaque octet. | |
| 1 | Cette valeur permet d'indiquer d'effectuer le calcul de la fréquence de chaque octet supérieur à 0. | |
| 2 | Cette valeur permet d'indiquer d'effectuer le calcul de la fréquence de chaque octet égale à 0. | |
| 3 | Cette valeur permet de demander la liste des caractères utilisé dans la chaîne de caractères. | |
| 4 | Cette valeur permet de demander la liste des caractères non-utilisé dans la chaîne de caractères. | |
Retour
| Valeur | Description |
|---|---|
| tableau | Ces valeurs indique un tableau selon les spécifications demandé. |
Description
Cette fonction permet de faire des comptes statistiques spécifié sur une chaîne de caractères.
Remarques
- La fonction count_chars() est utile pour analyser la fréquence des caractères dans une chaîne de caractères : Elle retourne des statistiques sur l'utilisation des octets ASCII dans un texte, ce qui peut servir pour des traitements linguistiques, des vérifications de sécurité ou de l'analyse de contenu.
- En mode 0, la fonction retourne un tableau complet de 256 positions : Chaque position correspond à un code ASCII (de 0 à 255), et la valeur indique combien de fois cet octet apparaît dans la chaîne. Même les caractères absents sont comptés (avec une fréquence de 0).
- Le mode 1 élimine les octets ayant une fréquence de 0 pour alléger les résultats : Ce mode est pratique pour obtenir uniquement les caractères présents, tout en conservant leurs fréquences, ce qui simplifie les traitements visuels ou statistiques.
- Le mode 2 agit à l'inverse du mode 1 : il affiche uniquement les caractères absents : Ce mode est utile si l'on cherche à identifier les caractères non utilisés dans un texte, par exemple pour des tests de couverture de caractères dans un système multilingue.
- Le mode 3 retourne une chaîne contenant tous les caractères utilisés dans l'ordre croissant : Ce mode permet une lecture directe de l'ensemble des caractères apparaissant dans une chaîne, ce qui peut être utile pour des rapports ou de la visualisation.
- Le mode 4 fournit une chaîne des caractères absents dans la chaîne analysée : Il est particulièrement utile si l'on veut s'assurer qu'un ensemble de caractères est complet ou détecter des omissions dans un alphabet attendu.
- Les résultats sont toujours sensibles aux caractères binaires, car count_chars() travaille au niveau des octets : Cela signifie que les chaînes de caractères encodées en UTF-8 peuvent produire des résultats inattendus si on ne prend pas en compte la multi-octetisation des caractères non-ASCII.
- La fonction est particulièrement adaptée pour les analyses statistiques simples sans dépendances externes : Elle permet d'éviter l'usage de bibliothèques tierces pour des cas simples de fréquence ou de détection de caractères spécifiques, ce qui peut être avantageux pour la performance ou la portabilité du code.
Exemple
Voici quelques exemples typiques de l'utilisation de cette fonction :
- <?php
- echo "Gladir.com = ";
- var_dump(count_chars("Gladir.com",1));
- echo "<br />";
- echo "Sylvain Maltais = ";
- var_dump(count_chars("Sylvain Maltais",1));
- echo "<br />";
- echo "Ceci est une phrase = ";
- var_dump(count_chars("Ceci est une phrase",1));
- echo "<br />";
- ?>
on obtiendra le résultat suivant si le répertoire «C:\WINDOWS» existe :
Gladir.com = array(10) { [46]=> int(1) [71]=> int(1) [97]=> int(1) [99]=> int(1) [100]=> int(1) [105]=> int(1) [108]=> int(1) [109]=> int(1) [111]=> int(1) [114]=> int(1) }Sylvain Maltais = array(11) { [32]=> int(1) [77]=> int(1) [83]=> int(1) [97]=> int(3) [105]=> int(2) [108]=> int(2) [110]=> int(1) [115]=> int(1) [116]=> int(1) [118]=> int(1) [121]=> int(1) }
Ceci est une phrase = array(13) { [32]=> int(3) [67]=> int(1) [97]=> int(1) [99]=> int(1) [101]=> int(4) [104]=> int(1) [105]=> int(1) [110]=> int(1) [112]=> int(1) [114]=> int(1) [115]=> int(2) [116]=> int(1) [117]=> int(1) }
Références
PHP 4 - Guide du développeur, Edition First Interactive, Blake Schwendiman, 2002, ISBN: 2-84427-283-5, page 382
Dernière mise à jour : Mercredi, le 25 mars 2015