Avatar billede sebster Nybegynder
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?
Avatar billede jakobdo Ekspert
14. januar 2013 - 11:22 #1
Det ligner json.
Prøv:

$output = '[{"id":"100","name":"ditnavn","title":"dintitel"}]';
$ditarray = json_decode($output);
Avatar billede sebster Nybegynder
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.
Avatar billede jakobdo Ekspert
14. januar 2013 - 11:51 #3
Det er et objekt.
Prøv at se hvad print_r($ditarray); smider retur. :o)
Avatar billede sebster Nybegynder
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?
Avatar billede jakobdo Ekspert
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;

?>
Avatar billede sebster Nybegynder
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.
Avatar billede jakobdo Ekspert
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;
}
Avatar billede jakobdo Ekspert
14. januar 2013 - 14:39 #8
Og du får et svar.
Avatar billede sebster Nybegynder
14. januar 2013 - 15:04 #9
Tak for hjælpen. Det virker perfekt, og fik også lært lidt undervejs.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester