Comptez le nombre d'occurrences de « monde » dans une chaîne :
<?phpecho substr_count("Bonjour tout le monde. Le monde est beau","world");?>La fonction substr_count() compte le nombre de fois qu'une sous-chaîne apparaît dans une chaîne.
Remarque : Les sous-chaînes sont sensibles à la casse.
Remarque : Cette fonction ne compte pas les sous-chaînes qui se chevauchent (voir exemple 2).
Remarque : Cette fonction génère un avertissement si le paramètre start plus le paramètre length est supérieur à la longueur de la chaîne (voir exemple 3).
substr_count( chaîne,sous-chaîne,début,longueur )
paramètre | décrire |
---|---|
chaîne | Requis. Spécifie la chaîne à vérifier. |
sous-chaîne | Requis. Spécifie la chaîne à récupérer. |
commencer | Facultatif. Spécifie où dans la chaîne commencer la recherche. |
longueur | Facultatif. Spécifie la durée de la recherche. |
Valeur de retour : | Renvoie le nombre de fois qu'une sous-chaîne apparaît dans une chaîne. |
---|---|
Version PHP : | 4+ |
Journal de mise à jour : | Dans PHP 5.1, de nouveaux paramètres de début et de longueur ont été ajoutés. |
Utilisez tous les paramètres :
<?php$str = "C'est sympa";echo strlen($str)."<br>"; // Utilisation de strlen() pour renvoyer la chaîne lengthecho substr_count($str,"is")."<br> "; // Le nombre de fois que "is" apparaît dans la chaîneecho substr_count($str,"is",2)."<br>"; // La chaîne est maintenant réduite à "is is PHP"echo substr_count($str,"is",3)."<br>"; // La chaîne est maintenant réduite à "s is PHP"echo substr_count($str,"is",3,3)."<br> "; // La chaîne est désormais réduite à "si" ?>Sous-chaînes superposées :
<?php$str = "abcabcab"; echo substr_count($str,"abcab"); // Cette fonction ne compte pas les sous-chaînes superposées ?>Si les paramètres start et length dépassent la longueur de la chaîne, cette fonction génère un avertissement :
<?phpecho $str = "C'est sympa";substr_count($str,"is",3,9);?>Puisque la valeur de longueur dépasse la longueur de la chaîne (3+9 est supérieur à 12). Cela affichera donc un avertissement.