[PHP]Chaines des caractères avec pts virgules

dev84 -  
Reivax962 Messages postés 3742 Statut Membre -
Bonjourà tous et à toutes,
je rencontre un problème depuis peu avec une chaine de caractère ressemblant à cela :

56;85;98;10

Ce champs issu d'une base de données mysql contient des identifiants de services séparés par ddes points virgules. Cependant, j'ignore comment récupérer chacun des services...

j'ai une petite idée avec un like mais je ne suis sur de rien...

j'espère que vous pourrez me répondre...

Bonne continuation à tous.
A voir également:

3 réponses

Reivax962 Messages postés 3742 Statut Membre 1 011
 
Bonjour,

Le mieux est de récupérer le champ tel quel de la base de données (donc pas de LIKE ni rien), puis d'utiliser la fonction php explode().
Celle-ci permet de transformer une chaine de caractère en tableau d'après une délimitation précise.
En l'occurrence, si ta chaine est stockée dans la variable $services, il te suffit de faire :
$tableauServices = explode(";", $services);

Ensuite, $tableauServices[0] contient le premier, [1] contient le 2e, etc.
Et tu peux faire une boucle dessus :
foreach ($tableauServices as $unService)
{
// Tout ce que tu veux
}

Xavier
0
bowbow13
 
euh... Si j'ai bien compris tu veux récupéré les valeurs se trouvant entre les ;, si tel est ton desir, il existe déjà une fonction permettant de l'exaucer, va sur php.net et cherche la fonction split

Ce que tu veux faire se nomme bel et bien un split d'une chaine de caractère
0
Reivax962 Messages postés 3742 Statut Membre 1 011
 
Pourquoi faire dans l'expression rationnelle quand le délimiteur n'est qu'un simple caractère ?
0
bowbow13 > Reivax962 Messages postés 3742 Statut Membre
 
Pour faire les choses bien sans se compliquer la vie lol.
Cette fonction te départage automatiquement les caractère et si je me souviens te les mets dans un tableau après tout est nickel.
Un code propre et facilement modifiable auquelle chaque fonction correspond a ce que pourquoi elle a été créé.

C'est quand même plus facile un code propre avec un bon commentaire pour s'y retrouver ;)
0
Reivax962 Messages postés 3742 Statut Membre 1 011 > bowbow13
 
Un code vraiment propre n'a pas besoin de commentaire ;)

Sinon, la fonction explode est elle aussi faite pour ça, non ? Elle me parait même justement plus adaptée...
0
dev84
 
Merci à tous pour vos réponses qui ont été plus que rapides et cohérentes : j'ai réussi grâce à vous à obtenir ce dont j'avais besoin

Encore merci

Bonne continuation à vous tous

A bientôt
0