Recupérer variable dans array
Résolu
Pierre-luc
-
jordane45 Messages postés 30427 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 30427 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour cher programmeur !
Je suis rouiller un peu j'aurais besoin de votre aide si vous avez quelque minute
J'ai un array comme ceci :
$result = print_r($ret, true);
echo $result;
le output ressemble a ca :
Array ( [333212] => Array ( [vues] => 323 [vente] => 3 [achat] => 43 [numero] => 333212 ) )
J'aimerais récupérer les donner des item en variable pour les stockers dans MYSQL exemple :
echo $variable[vues]; // (323)
echo $variable[vente]; // (3)
echo $variable[achat]; // (43)
Ca fait 4 heure j'essais plein d'affaire j'y arrive pas :(
Merci infiniment j'apprécie !!!
Je suis rouiller un peu j'aurais besoin de votre aide si vous avez quelque minute
J'ai un array comme ceci :
$result = print_r($ret, true);
echo $result;
le output ressemble a ca :
Array ( [333212] => Array ( [vues] => 323 [vente] => 3 [achat] => 43 [numero] => 333212 ) )
J'aimerais récupérer les donner des item en variable pour les stockers dans MYSQL exemple :
echo $variable[vues]; // (323)
echo $variable[vente]; // (3)
echo $variable[achat]; // (43)
Ca fait 4 heure j'essais plein d'affaire j'y arrive pas :(
Merci infiniment j'apprécie !!!
12 réponses
-
Bonjour
Comme le montre ton $result, ta variable $ret est un tableau à un seul élément, d'index 333212. On accède à cet élément en écrivant$ret[333212]
.
Cet élément est lui-même un tableau, dont les éléments ont pour index vues, vente, achat et numero.
On y accède donc en écrivant$ret[333212]["vues"], $ret[333212]["ventes"]
...
C'est peut-être plus clair pour toi en te servant d'une variable intermédiaire :$interm=$ret[333212]; ensuite : $interm["vues"],$interm["ventes"]...
-
Merci beaucoup! le probleme c'est que ca me renvoie rien a cause je crois que j'ai des parenthese [] au lieu de "" j'ai utiliser st_replace ca bien été mais j'arrive pas a ajouter les virgule apres les valeurs pour pouvoir récuperer les donner de cette facon.
-
exemple :
Array ( "333212" => Array ( "vues" => 323, "vente" => 3, "achat" => 43, "numero" => 333212 ) ) -
Mais si, ce que je t'avais dit marchait. Essaye le programme :
<?php $ret= [333212=>["vues"=>323, "vente"=>3, "achat"=>43, "numero"=>333212]]; $result = print_r($ret, true); echo $result; echo '<br />'; echo $ret[333212]["vues"];
Il affiche bien la même chose que dans ton premier message et $ret[333212]["vues"] affiche bien la valeur demandée.
Mais je vois que tu as changé de tableau depuis : ton dernier exemple a des " en plus qu'il n'y avait pas dans ton message initial. Je ne sais pas ce que tu as fait pour en arriver là, tu parles de parenthèses, de [], de "" et de st_replace mais on n'a aucune idée de ce que tu en fais. On devine d'après ton dernier exemple que tu as rajouté des " là où il n'en fallait pas. -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
C'est que mon array contient des pârenthese et na pas les virgules comme toi
Array ( [333212] => Array ( [vues] => 323 [vente] => 3 [achat] => 43 [numero] => 333212 ) )
Je sais vraiment pu quoi faire je me sens stupide je dois peut-etre utiliser parse_str(); ?-
"Ton array contient des parenthèses et pas de virgules comme moi" Qu'est ce que ça veut dire ? Ni ton array, ni le mien ne contiennent de parenthèses, ni de virgules.
As-tu essayé mon programme ? Il affiche très exactement Array ( [333212] => Array ( [vues] => 323 [vente] => 3 [achat] => 43 [numero] => 333212 ) ) , comme toi. Il s'agit bien du même array.
Il ne faut pas confondre l'array et ses diverses représentations :
Le code qu'il faut écrire pour l'initialiser contient des virgules :$ret= [333212=>["vues"=>323, "vente"=>3, "achat"=>43, "numero"=>333212]];
Mais ceci n'est pas l'array, c'est le programme php qui sert à initialiser l'array.
Quand tu affiches le contenu de cet array avec print_r, tu obtiensArray ( [333212] => Array ( [vues] => 323 [vente] => 3 [achat] => 43 [numero] => 333212 ) )
. Il y a bien des parenthèses là-dedans, mais là encore, ceci n'est pas l'array : c'est juste la représentation donnée par print_r.
Peux-tu donner le code que tu as essayé pour dire qu'avec ma réponse "ca me renvoie rien " ?
-
-
Merci infiniment pour tes réponses pardonne moi j'ai tellement rusher ladessus c'est horrible. c'est que moi j'ai une ligne comme celle ci :
Array ( [333212] => Array ( [vues] => 323 [vente] => 3 [achat] => 43 [numero] => 333212 ) )
Je dois récuperer les valeur avec des variables sans toucher rien a mon array.
Je m'excuse si mal compris je vais tout vous relire et recommencer. -
cette ligne ici :
$ret= [333212=>["vues"=>323,
"vente"=>3,
"achat"=>43,
"numero"=>333212]];
je ne peux pas changer le $ret il est déja comme ca
je dois garder cette ligne absolument
Array ( [333212] => Array ( [vues] => 323 [vente] => 3 [achat] => 43 [numero] => 333212 ) )
souvent les valeurs vont changer exemple :
Array ( [333DKSJ212] => Array ( [vues] => 33 [vente] => 73 [achat] => 437 [numero] => 333DKSJ212 ) ) -
J'ai esseyer de copier coller tes code et ca me renvoi un erreur de syntaxe a la premiere ligne
-
Bonjour,
Je pense que ce que essaies de nous dire .. c'est que la première clé peut changer ...
Dans ce cas.. il suffit d'utiliser une foreach.
Un truc du genreforeach($ret as $variable){ echo $variable["vues"]; // (323) echo $variable["vente"]; // (3) echo $variable["achat"]; // (43) }
Cordialement,
Jordane -
lol Merci infiniment monsieur ! je suis trop stupide je devais pas utiliser toute cette cochonnerie j'avais juste a faire directement ceci sans la mettre dans une variable avec print_r :)
echo $ret[333212]["vues"];
merci mille foix ! -
-