Page 1 sur 1

decomposer une variable

Posté : 30 janv. 2014, 17:05
par yoounss
Bonjour à Tous,

je souhaiterai decomposer une chaine de valeurs en plusieurs variables.
Voici ma chaine
$chaine = "VAR1=1234&VAR2=4523&VAR3=4587&VAR4=5321";
le but est d'avoir des variables comme celles ci ici bas :
$var1="1234";
$var2 = "4523";
$var3="4587";
.....
J'ai pensé utilisé la fonction explode() avec & comme separateur mais je ne sais pas si je recois cette chaine toujours dans le meme ordre, et puis les valeurs decomposée pas utilisables pour des tests.
je dois par exemple ensuite faire un test genre if($var2 == "4523"){ ////faire le traitement ; }

Merci à vous pour votre aide, je tourne en rond sur ce probleme qui j'en sur doit exister une fonction ou un mecanisme pour le faire.

Re: decomposer une variable

Posté : 30 janv. 2014, 17:11
par synergie
Salut,

Tu peux utiliser explode qui te retournera :
$tab[0] = VAR1=1234
$tab[1] = VAR2=4523
...

Après, tu peux les traiter avec la fonction substr de php http://fr2.php.net/manual/fr/function.substr.php
Après chaque "=" par exemple, tu récupère ce qui suit, ect...

Re: decomposer une variable

Posté : 30 janv. 2014, 18:09
par xTG
parse_str() répond bien à tes attentes mais attention à son utilisation.
Cette fonction créé des variables dans le scope local (et donc peut écraser des variables déjà définies) si l'on ne précise pas son second paramètre (un array).

Re: decomposer une variable

Posté : 30 janv. 2014, 22:28
par sirakawa
Une autre solution serait de stocker les variables dans un tableau
$tab = array (
"var1"=>"1234",
"var2" =>"9999",
);
$tab = serialize ($tab);
et à la réception
$tab = $_POST['tab'];
$tab = unserialize ($tab);
et tu as ton tableau de variables quel qu'en soit le nombre avec leur nom et leur valeur