afficher chaine de caractère se terminant par "B1"

Par Microse, il y a 8 ans


Bonjour,
voila j'ai fait un code pour m'entrainer et dans un array que j'ai créer, je veut récupérer toute les chaines de caractères se terminant par B1 dans un foreach et je ne sais pas qu'elle fonction phputiliser pour effectuer sa, quelqun en connait une fonction php pour ce genre de traitement?

voici mon code

$tournee = array("ABB1", "ABB2", "ABB3", "ABB4", "ABB5", "ABB1", "ABB1"); foreach($tournee as $ts) { if() //si cette chaine se termine par B1 { echo $ts; //affiche toute les chaines de caractère se terminant par B1 } else { return false; } }

7 réponses

tamplan, il y a 8 ans

Bonsoir,

Une piste de réfléxion sur https://secure.php.net/manual/fr/function.strrpos.php, vu que tes chaînes à tester ont toutes une longueur de 4, tu devrais tester si strpos retourne 2 (la fonction commence à compter à partir de la position 0).

Je te laisse regarder à quoi correspondent les paramètres à utiliser...

Pierrot01, il y a 8 ans

Salut,
avec array_filter.

Comme çà par exemple :

<?php $tournee = array("ABB1", "ABB2", "ABB3", "ABB4", "ABB5", "ABB1", "ABB1"); $tournee2=array_filter($tournee, function($k) { return substr($k, -2) == 'B1'; }); var_dump($tournee); var_dump($tournee2); ?>

@plus
Pierre

tamplan, il y a 8 ans

Joli code Pierrot01, je n'y avais pas pensé !

Microse, il y a 8 ans

ok merci à tous, j'ai utilisé la solution de @jimibi qui me retourne un seul ABB1 car il s'arrête à la première chaine de caractère qui à B1 à la fin et je vais tester aussi ta solution @Pierrot01

Pierrot01, il y a 8 ans

@Microse, Good, à défaut d'utiliser quelques chose qui fonctionne, je prends quelque chose qui ne fonctionne pas :D
tu iras loin ;)

C'est ici pour tester ;)

@plus

Pierre

Microse, il y a 8 ans

tinquiète pas @Pierrot01 j'avais remarqué :) et oui Jimibi effectivement @jimibi j'ai oublié et compris pourquoi sa retourné qu'une chaine de caractère xD

Pierrot01, il y a 8 ans

@Microse, mais je ne suis pas inquiet, juste amusé ;) :smiley:
@plus

Pierre