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

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

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

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





CIO
"På 11 minutter blev vores computere ramt af den frygtede Petya ransomware-skærm"
"På 11 minutter blev vores computere ramt af den frygtede Petya ransomware-skærm. Først troede vi, at det bare ville blive en aften uden email, og at de ville fikse det i løbet af natten. Men næste morgen var der krisemøde, og vi fik at vide, at vi ville være nede i lang tid."
Comon
Oversigt: Her er de bedste Android-smartphones der kan købes i Danmark
Det vrimler med spændende Android-smartphones på markedet. Vi har samlet en oversigt over de bedste Android-telefoner, du kan købe herhjemme netop nu.
Job & Karriere
IBM’s Watson har gennemlæst 600 jobopslag, og snart kan der blive vendt op og ned på vores jobsøgning
Kunstig intelligens kan forandre den måde virksomheder rekrutterer på. Derfor har IBM netop gennemført et stort forsøg med Danmarks største erhvervsskole.
White paper
Mobility - her er de aktuelle udfordringer
Hvad med sikkerheden? Mobility-bølgen fejer igennem danske virksomheder, og der er masser af muligheder og faldgruber. Sikkerheden halter, men det kan der gøres noget ved. Produceret af Computerworld.dk i oktober 2014.