Deux fonctions méconnues à tort en PHP ( #2 )
Développement PHP / MySQL ☄ 0Pour 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
8 commentaires sur ce post