14. januar 2013 - 09:08
Der er
8 kommentarer og 1 løsning
Træk variabler ud i array fra string.
Hej Eksperter Jeg har et output from en database via et api som ser således ud: $output ="[{"id":"100","name":"ditnavn","title":"dintitel"}] Dette vil jeg gerne kunne hive ud som et array, give variablerne en værdi og sætte det ind i et foreachloop. Nogle der kan hjælpe?
Annonceindlæg fra Infor
14. januar 2013 - 11:22
#1
Det ligner json. Prøv: $output = '[{"id":"100","name":"ditnavn","title":"dintitel"}]'; $ditarray = json_decode($output);
14. januar 2013 - 11:45
#2
Hvis jeg sætter det i et array foreach ($ditarray as $k => $v) { echo "\$ditarray[$k] => $v.\n"; } Burde den så ikke skrive output? Er ikke lige så meget ind over json.
14. januar 2013 - 11:51
#3
Det er et objekt. Prøv at se hvad print_r($ditarray); smider retur. :o)
14. januar 2013 - 12:53
#4
ja det er er mit output. Array ( [0] => stdClass Object ( [id] => 100 [name] => ditnavn [title] => dintitel ) ) Kan godt se det er inde i et object. Hvordan får jeg kun arrayet frem?
14. januar 2013 - 13:50
#5
Lige i dette tilfælde burde så kunne lave: <?php $output = '[{"id":"100","name":"ditnavn","title":"dintitel"}]'; $ditarray = json_decode($output); $json = $ditarray[0]; echo $json->id; echo '<br />'; echo $json->name; echo '<br />'; echo $json->title; ?>
14. januar 2013 - 14:16
#6
Det virker fint. Dog skal det siges at jeg skal have denne til at loope så den også tager resten af posterne med fra droppet.
14. januar 2013 - 14:39
#7
$output = '[{"id":"100","name":"ditnavn","title":"dintitel"}]'; $ditarray = json_decode($output); foreach($ditarray as $json){ echo $json->id; echo '<br />'; echo $json->name; echo '<br />'; echo $json->title; }
14. januar 2013 - 14:39
#8
Og du får et svar.
14. januar 2013 - 15:04
#9
Tak for hjælpen. Det virker perfekt, og fik også lært lidt undervejs.
Vi tilbyder markedets bedste kurser inden for webudvikling