Pour poursuivre ma ( formidable ) série sur les fonctions méconnues en PHP, voici deux fonctions qui pourraient vous servir, mais que vous n’utilisez ( ou ne connaissez ) pas nécessairement.
Evidemment, je ne prétends pas connaitre la vérité absolue en PHP, mais je partage simplement des fonctions que j’ai trouvées pratiques, et que j’ai rencontrées par hasard 😉

substr_count()

Cas pratique d’application : Compter le nombre d’apparitions de la lettre « a » dans cette phrase.
1 … 2 … 3 … 5 … heu ? Pas si facile, n’est-ce pas ?
Heureusement, la fonction substr_count() peut vous aider :

<?php
echo substr_count("Cas pratique d'application : Compter le nombre d'apparitions de la lettre \"a\" dans cette phrase.",'a');
// Affiche ' 10 '
?>

substr_count permet donc de compter le nombre d’occurences d’une chaine dans une autre chaine.
Dit comme ça, c’est compliqué, mais ça permet, entre autres de créer un anti-spam basique ( détecter s’il y a trop d’occurences d’une balise, par exemple )

lcfirst() ucfirst() ucwords() strtolower() strtoupper()

Ok, il y en a trois, pas une seule 😉 Ces fonctions permettent de gérer les minuscules / majuscules dans une chaine de caractères.
Par exemple :

<?php
echo lcfirst('HELLO WORLD');
// Affichera "hELLO WORLD"
// Le premier caractère de la chaine est désormais en minuscules.
 
echo ucfirst('hello world');
// Affichera "Hello world"
// Le premier caractère de la chaine est désormais en majuscules.
 
echo ucwords('hello world');
// Affichera "Hello World"
// Le premier caractère de chaque mot est désormais en majuscules.
 
echo strtolower('HELLO WORLD');
// Affichera "hello world"
// Tous les caracteres ont été passés en minuscules.
 
echo strtoupper('hello world');
// Affichera "HELLO WORLD"
// Tous les caracteres ont été passés en majuscules.
?>

Toutefois, ces fonctions ne feront strictement que ce qui est précisé plus haut.
C’est à dire que pour mettre une phrase quelconque en minuscules, sauf la première lettre, il faudra combiner strtolower et ucfirst :

<?php
echo ucfirst(strtolower('HELLO WORLD'));
// Affichera "Hello world"
?>

En espérant que ça vous serve autant que ça m’a servi 😉

Tags : ,