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 Forsker
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 Forsker
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 Forsker
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 Forsker
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 Forsker
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
Stor dansk netbutik åbner fysiske butikker i Danmark: "Vi skal have magien tilbage - der skal dufte af candy-floss, og det skal ligne et eventyrland"
En af Danmarks største webshops planlægger en større butiksoffensiv til næste år, hvor dørene bliver slået op for adskillige butikker.
CIO
Tidligere indkøbschef i DSB om dom i bestikkelsesag: "Hvis man ryger i fængsel for at have modtaget iPads, er der mange i det offentlige, der bør være bekymrede"
Selv om det er ulovligt at modtage 'smørelse', er der intet unormalt i det, siger tidligere indkøbschef iDSB. Her forklarer han, hvordan og hvorfor, der uddeles gaver til offentligt ansatte.
Comon
Så nemt installerer du en "ren" Windows 10 uden crapware
De fleste nye computere kommer med præ-installerede programmer, der kan gøre din computer langsom. Læs her, hvordan du let installerer Windows 10 uden crapware.
Channelworld
Overblik: Det ved vi efter første retsmøde i den store Atea-bestikkelsessag
Den første sag om bestikkelse af offentlige ansatte kører i disse dage, hvor offentlige ansatte anklages for at have modtaget bestikkelse fra it-giganten Atea.
White paper
Guide til hyperconverged infrastructure - Alt om forenklet it-infrastruktur
I dette white paper får du en guide til at komme i gang med Hyperconverged Infrastructure (forenklet it-infrastruktur)