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 Seniormester
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 Seniormester
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 Seniormester
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 Seniormester
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 Seniormester
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
Fem luskede phishing-kneb: Disse svindelnumre hopper vi på igen og igen
Her er fem af spam-slynglernes yndlings-svindelnumre, når du skal snydes til at klikke dig ind i en online-fælde. Du kan også læse tips til, hvordan du undgår at ryge i fælderne.
CIO
Er du klar? Sådan skal Windows 10 blive en lækkerbidsken for virksomhederne
Microsoft Ignite, Atlanta: Udrulningen af Windows 10 til private forbrugere er gået over stok og sten. Nu kommer turen til erhvervslivet, som Microsoft med en række tiltag forsøger at gøre interesseret i styresystemet. Og der er ingen vej uden om.
Comon
Mange Android-brugere i problemer efter opgradering: Ender med start-loop og batteribøvl
Opgraderingen til Android 7 driller masser af Nexus-brugere, der har problemer efter opdateringen.
Channelworld
Atea sigtet i stor bestikkelsessag: Kan komme til at koste selskabet dyrt
Også Atea er sigtet af politiet i den store bestikkelsessag. Det kan komme til at koste selskabet dyrt.
White paper
Innovation gennem intelligent forretningsdrift
Intelligent Business Operations gør det muligt at transformere missionskritisk indsigt til den rette handling og derved styrke forretningen.