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

sebster
sebster (18.635 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 (193.610 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 (18.635 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 (193.610 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 (18.635 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 (193.610 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 (18.635 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 (193.610 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 (193.610 point)
www.simitu.dk
Og du får et svar.

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

sebster
sebster (18.635 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 Soap array som streng ?

Oprettet den 21. oktober 2014 kl. 08.38
Xelot giver 200 point for svar | Giv et svar »

Hjælp til en mail sender

Oprettet den 18. oktober 2014 kl. 17.59
mibu giver 60 point for svar | Giv et svar »

Kopier fil fra domæne til domæne

Oprettet den 18. oktober 2014 kl. 15.50
cpccorp giver 100 point for svar | Giv et svar »

Seneste guides

Find ejeren af et vilkårligt domæne
Undgå reklamerne på iPad
Opret BOOTBAR USB pen ...





Computerworld

Teaser billede

Test: Her er de bedste antivirus-programmer lige nu

Hvis du er på jagt efter et antivirus-program til din pc, så læs med her, hvor 23 forskellige programmer er blevet testet.

CIO

Teaser billede

10 ting, der kan gøre din it-afdeling til en succes

Klumme: Her har du 10 gode råd til at få forretningen og it-organisationen til at arbejde bedre sammen.

Comon

Teaser billede

Apple-launch i aften: Nyt liv til iPad'en eller comeback til Mac'en

Apple er igen på trapperne med nye produkter, men hvad skal vi forvente?

Channelworld

Teaser billede

Apple-præsenterede nye ultra-tynde iPads og en ny pixel-verdensmester

Tyndere, skarpere og hurtigere. Aftenens iPad-præsentation var en Apple classic.

White paper

Teaser billede

Outsourcing af softwareudvikling

Hvordan vælger du den rigtige partner? Læs om geografi og kulturforskelle, samarbejde og vurdering af faglig kompetence og projektmodenhed.



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