Avatar billede naquer Nybegynder
30. august 2011 - 12:50 Der er 1 kommentar og
1 løsning

Håndtering af Stdobject

Hej,

Jeg har et Stdobject i PHP, som ser således ud:

{
  "data": [
      {
        "name": "hr hansen",
        "id": "5023329353"
      },
      {
        "name": "hr jensen",
        "id": "5042332023"
      },
      {
        "name": "hr madsen",
        "id": "345666"
    }
]
}

Kan i forklare mig hvordan jeg laver en foreach loop på ovenstående?

Ovenstående er baseret på Facebook indhold og initieres som følge:

$friends = json_decode(file_get_contents(
    'https://graph.facebook.com/me/friends?access_token=' .$cookie['access_token'])); ?>
Avatar billede wanze Nybegynder
30. august 2011 - 13:12 #1
json_decode() har et par options, bl.a. at returnere et array fremfor blot et objekt. Se http://php.net/manual/en/function.json-decode.php

$friends = json_decode("...",true);

Hvis du laver et var_dump($friends) vil du se, at du skal have fat i data:

array(1) {
  ["data"]=>
  array(3) {
    [0]=>
    array(2) {
      ["name"]=>
      string(9) "hr hansen"
      ["id"]=>
      string(10) "5023329353"
    }
    [1]=>
    array(2) {
      ["name"]=>
      string(9) "hr jensen"
      ["id"]=>
      string(10) "5042332023"
    }
    [2]=>
    array(2) {
      ["name"]=>
      string(9) "hr madsen"
      ["id"]=>
      string(6) "345666"
    }
  }
}

Dette kan du herefter blot iterere over vha. foreach. Hver iteration vil give dig et array, der repræsenterer en enkelt friend.

foreach($friends['data'] as $friend)
    print $friend['name']." har id ".$friend['id']."<br/>";

Det giver dig så:

hr hansen har id 5023329353
hr jensen har id 5042332023
hr madsen har id 345666
Avatar billede naquer Nybegynder
30. august 2011 - 13:27 #2
Fantastisk - lige hvad jeg var på udkig efter! Takker :-)
Avatar billede 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. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

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