Oprettet man. d. 14. januar 2013 kl. 09:08:21

sebster
sebster (19.725 point. Point ude: 0)


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?

Skrevet man. d. 14. januar 2013 kl. 11:22:03| #1

jakobdo
jakobdo (195.975 point)
www.simitu.dk
Det ligner json.
Prøv:

$output = '[{"id":"100","name":"ditnavn","title":"dintitel"}]';
$ditarray = json_decode($output);

Skrevet man. d. 14. januar 2013 kl. 11:45:32| #2

sebster
sebster (19.725 point)
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.

Skrevet man. d. 14. januar 2013 kl. 11:51:24| #3

jakobdo
jakobdo (195.975 point)
www.simitu.dk
Det er et objekt.
Prøv at se hvad print_r($ditarray); smider retur. :o)

Skrevet man. d. 14. januar 2013 kl. 12:53:44| #4

sebster
sebster (19.725 point)
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?

Skrevet man. d. 14. januar 2013 kl. 13:50:09| #5

jakobdo
jakobdo (195.975 point)
www.simitu.dk
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;

?>

Skrevet man. d. 14. januar 2013 kl. 14:16:43| #6

sebster
sebster (19.725 point)
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.

Skrevet man. d. 14. januar 2013 kl. 14:39:24| #7

jakobdo
jakobdo (195.975 point)
www.simitu.dk
$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;
}

Skrevet man. d. 14. januar 2013 kl. 14:39:33| #8

jakobdo
jakobdo (195.975 point)
www.simitu.dk
Og du får et svar.

Skrevet man. d. 14. januar 2013 kl. 15:04:51| #9

sebster
sebster (19.725 point)
Tak for hjælpen. Det virker perfekt, og fik også lært lidt undervejs.

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   


Seneste spørgsmål

PHP/JAVA confirm pop up med svar...

Oprettet den 27. maj 2015 kl. 14.22
steench giver 30 point for svar | Giv et svar »

fpdf new page

Oprettet den 26. maj 2015 kl. 22.22
fancy giver 30 point for svar | Giv et svar »

SMS script fejler ved afsendelse

Oprettet den 26. maj 2015 kl. 19.44
mibu giver 100 point for svar | Giv et svar »






Computerworld

Teaser billede

Enmandsfirma i hosting-klemme: Hjælp! Der er blevet lukket for mine data i skyen

Efter i to uger at have været afskåret fra sine forretningsdata, der opbevares i en cloud-tjeneste, er tålmodigheden nu slut. Næste trin er fysisk besøg på adressen eller en politianmeldelse.

CIO

Teaser billede

Efter 20 år i it-sikkerhedsbranchen: Her er fem barske sandheder fra kendt sikkerhedsekspert

Hvor reel en trussel er mobiltelefoner egentlig? Er det medarbejderne som er truslen mod firmaets data? Og hvorfor bliver amerikanske tjenester ved med at halte på sikkerheden? Få svaret når en...

Channelworld

Teaser billede

Kendt direktør ude af stort dansk SAP-hus med dags varsel efter under et år på posten

Sammenstødet mellem dansk og amerikansk mentalitet udløser tumult på ledelsesgangen i Ciber.

White paper

Teaser billede

Sådan sørger du for at it-sikkerhedspolitikken er effektiv og konstant opdateret

Antallet af trusler mod virksomhedens dataintegritet mangedobles i takt med, at vi tager flere og flere enhedstyper og cloudservices i brug.



Udgiver · © 2015 Computerworld A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger