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 Mester
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 Mester
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 Mester
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 Mester
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 Mester
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
Ny bil i 2030? Mercedes-Benz har allerede bygget den ... og den kører på 10 MacBooks
Mercedes-Benz F015 ligner ikke noget, du kan finde på hylderne hos nogen bilforhandler. Den stålgrå maskine med de indbydende former er da også mere en vision og et rullende eksperiment end en bil, du kan bruge til noget. Og så er den fyldt med MacBooks under motorhjelmen.
CIO
Undgå disse fem skadelige forhindringer og få stor succes med din analytics-strategi
Klumme: Der er meget store gevinster at hente, hvis man forstår at udnytte sine data ordentligt. Men mange løber ind i en række forhindringer. Her har du nogle af de typiske.
Comon
Manden bag verdens største torrent-site anholdt
Den formodede hjerne bag verdens største torrentsite KickassTorrents er blevet anholdt i Danmarks naboland Polen. Herfra forsøger amerikanske myndigheder at få ham udleveret til retsforfølgelse i USA. Læs her, hvad han står anklaget for.
Channelworld
Nordmænd køber dansk software-hus - medarbejderne bliver
Norske Amesto Solutions har købt det det danske CRM-firma Adwiza, der har haft svært ved at opnå tilstrækkelig lønsomhed. Men det skal der laves om på nu, lyder det fra Norge.
White paper
Intelligente forretningsprocesser
Læs her om de centrale egenskaber ved intelligente forretningsprocesser, deres fordele og hvordan du hæver dine egne forretningsprocessers IQ.