extraire variable indépendant dans chaine de caractere

ZelkiN
WRInaute impliqué
WRInaute impliqué
 
Messages: 500
Inscription: 27 Juil 2007

extraire variable indépendant dans chaine de caractere

Message le Mar Aoû 19, 2008 11:08

Bonjour, j'ai une question :P

Je récupere une variable que j'appellerai $chaine dans ma base de donnée.

cette variable contient des valeurs distincte séparé par un tiret autrement dit elle peut avoir cette forme la : ab-cd-ef-gh-ij

Je voudrais pouvoir récupere les valeur de tel sorte a ce que $ab = ab; $cd = cd etc...

Comment puis-je faire ?

j'avais vu avec un ereg mais il se peut qu'il y ai les meme valeur, autrement dit : ab-ab-cd-cd

Help me please :s

Merci


oli004
WRInaute passionné
WRInaute passionné
 
Messages: 2173
Inscription: 5 Jan 2005

Message le Mar Aoû 19, 2008 11:12

est-ce que le résultat de l'éclatement de ta chaine doit être ensuite intégré en base ? auquel cas, tu as toujours la solution du "distinct" dans tes requetes sql

ZelkiN
WRInaute impliqué
WRInaute impliqué
 
Messages: 500
Inscription: 27 Juil 2007

Message le Mar Aoû 19, 2008 11:16

enfaite je récupere la variable $chaine dans ma base de donnée, je souhaite la cinder en 6 variable de tel sorte a ce que j'ai

$ab =ab; $cd=cd etc...

apres je fais un calcul au niveau des mes nouvelles variable pour déterminer un résultat, mais non elles ne seront pas remis en base


Bacteries
WRInaute passionné
WRInaute passionné
 
Messages: 1369
Inscription: 27 Mai 2004

Message le Mar Aoû 19, 2008 11:31

Bah tu fais un split() sur ta chaine de caractères, tu auras le texte entre chaque tiret. Là tu peux facilement contrôler si une variable a déjà été utilisé en utlisant un tableau associatif avec des booléens par exemple.

Et pour tes variables, je sais que c'est possible mais je ne sais plus comment, le $$ peut être? (chercher double dollar sign PHP sur google).

ZelkiN
WRInaute impliqué
WRInaute impliqué
 
Messages: 500
Inscription: 27 Juil 2007

Message le Mar Aoû 19, 2008 11:45

ah yes, le split pas penser :p

merci bacteries, le truc qu'il me fallait :)


bproductiv
WRInaute accro
WRInaute accro
 
Messages: 4173
Inscription: 27 Déc 2004

Message le Mar Aoû 19, 2008 13:10


theJB
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 411
Inscription: 7 Avr 2006

Message le Mar Aoû 19, 2008 14:44

$t_aux=explode("-",$chaine);
$ab=$t_aux[0];
$cd=$t_aux[1];
$ef=$t_aux[2];
$gh=$t_aux[3];
echo "Merci JB";

ou preg_match..


spout
WRInaute accro
WRInaute accro
 
Messages: 4378
Inscription: 14 Mai 2003

Message le Mar Aoû 19, 2008 15:47

plus court:
Code: Tout sélectionner
list($ab, $cd, $ef, $gh) = explode('-', $chaine);

ZelkiN
WRInaute impliqué
WRInaute impliqué
 
Messages: 500
Inscription: 27 Juil 2007

Message le Mar Aoû 19, 2008 16:06

en meme temps split() fait pareil

Code: Tout sélectionner
$date = "04/30/1973";
list($month, $day, $year) = split('[/.-]', $date);
echo "Mois : $month; Jour : $day; Année : $year<br />\n";


Alors lequel choisir ? ^^


spout
WRInaute accro
WRInaute accro
 
Messages: 4378
Inscription: 14 Mai 2003

Message le Mar Aoû 19, 2008 16:11

split — Scinde une chaîne en un tableau, grâce à une expression rationnelle => expression régulière

explode — Coupe une chaîne en segments => par un string

donc celui qui te conviens le mieux, je sais pas lequel est le plus rapide.


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité