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

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



Seneste spørgsmål Seneste aktivitet
I går 20:46 opkaldside Af hagbartm i Mobiltelefoner
I går 16:05 win 10 vil ikke boote Af bb69 i Windows
I går 11:20 Lenovo x390 Af tobberjas i PC
I går 10:14 Alder i Excel Af Nanarsi i Excel
I går 09:00 Flere linier på faneblad Af Peder Lund Nielsen i Excel