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
Méconnues ça ? Humm...je trouve pas, mais bon.
Bon, aussi, pour un codeur fou comme toi, ya pas beaucoup de fonctions méconnues :)
Je connais ^^
Encore pas mal, je connaissais pas ma première :)
@XdiZ : Content que ça serve à quelqu'un :D
J'avoue que la première, je l'ai pas utilisée souvent, voire jamais :D Mais les autres je les utilise très souvent...
D'ailleurs il faut savoir que pour des problèmes d'encodage, on peut utiliser mb_strtoupper, etc. avec mb_ devant pour préciser le type d'encodage (pratique pour les mots commençant avec des accents :D).
Merci pour la précision, c’est noté =]
Codeur fou ? Moi ? Humm seulement quand il fait nuit alors ^^