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 Professor
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 Professor
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 Professor
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 Professor
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 Professor
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





Computerworld
Engang var Skype et fantastisk stykke software - men noget er gået helt galt i de senere år
Klumme: Skype er den måske mest kendte danske it-succes på globalt plan. Tjenesten vandt millioner af brugeres hjerter. Men noget er gået galt i de senere år.
CIO
Coop på jagt efter afløser til den 49 år gamle mainframe: "Systemet er ikke længere tilstrækkeligt til vores vision for Coop"
Coop Danmark er i gang med en støre digitalisering af hele forretningen, og det kommer ikke til at gå stille for sig i 2017. Blandt andet skal Coop have fundet en erstatning for den 49 år gamle mainframe.
Comon
Sådan installerer du Googles bil-system, Android Auto, på din smartphone
Android Auto har indtil nu krævet en bil med indbygget computer med touchskærm for at kunne fungere. Nu kan du installere systemet på din Android-telefon og benytte den som bil-computer og navigations-system. Se her, hvordan du gør.
Channelworld
Ny EG-direktør har en plan: Sådan skal EG vokse sig større og endnu mere profitabel
Interview: Mikkel Bardram er ny administrerende direktør i EG. Selvom EG nu har 2.000 ansatte og en omsætning på 1,8 milliarder kroner, er der potentiale for endnu mere, mener den nye direktør.
White paper
Sådan får du et bæredygtigt support- og vedligeholdelsessetup
Hvorfor investere i support og vedligeholdelse af din Microsoft Dynamics platform? I dette white paper får du svaret.