Bonjour
Voila j'aimerai savoir comment faire pour compter dans une chaine de caractere, le nombre de fois que je rencontre une lettre comme le "E" par exemple ou un chiffre "1" ou autre.
Merci.
Bonjour
Voila j'aimerai savoir comment faire pour compter dans une chaine de caractere, le nombre de fois que je rencontre une lettre comme le "E" par exemple ou un chiffre "1" ou autre.
Merci.
Tu peux utiliser la fonction substr_count
http://php.net/substr_count
Ok mais je vois comment faire avec cette fonction, je vais essayer avec "suubstr()...
Merci quand même.
D'autres solutions sont les bienvenues.
Il suffit de lire le mode d'emploi.
Et pour compter tous les caractères :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <?php $recherche = 'e'; $text = 'Ceci est un test'; echo '<b>"' . $text . '"</b> contient <b>' . substr_count($text, $recherche) . '</b> fois le caractère <b>' . $recherche . '</b>'; ?>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <?php $text = 'Ceci est un test'; foreach (count_chars($text, 1) as $i => $val) { echo 'Il y a <b>' . $val . '</b> occurrence(s) de <b>' . chr($i) . '</b> dans <b>"' . $text . '"</b><br>'; } ?>
Bonjour,
Est-il possible d'obtenir le même résultat que Jeca sans utiliser la fonction subst.count() ?
Je ne comprends pas pourquoi ça bloque chez moi ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 <?php $charactere = "test sur le e"; $ligneCharactere = strlen($charactere); $a = 0; $b = 0; while($a < $ligneCharactere) { if ($charactere[$a] == "e") { $b++; $a++; } } //echo $b; ?>
Salut,
quand tu dis que ça bloque chez toi, ça veut dire quoi ?
Ensuite, l'autre question essentielle c'est de savoir quel encodage tu manipules.
Pour UTF-8 tu as à ta disposition : mb_substr_count()
Après, il possible de faire totalement autrement :
Tiens un exemple compatible utf-8 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $word = 'test sur le e'; $chars = preg_split('//u', $word, -1, PREG_SPLIT_NO_EMPTY); $freq = array_count_values($chars); // [lettre => nb_occurrences]
Partager