【问题标题】:Foreach empty from json来自json的foreach为空
【发布时间】:2012-05-06 03:43:49
【问题描述】:

我有以下网址:

https://graph.facebook.com/123456/likes?access_token=__ACCESS_TOKEN__&format=json

然后我会这样做:

$likesList = json_decode(file_get_contents("https://graph.facebook.com/123456/likes?access_token=$access_token&format=json"),true);

产生例如

{
"data": [

  {
     "name": "yo yo yo",
     "category": "Entertainer",
     "id": "45640987076",
     "created_time": "2012-04-18T16:14:09+0000"
  },
  {
     "name": "Tony Smith",
     "category": "Musician/band",
     "id": "456456456456",
     "created_time": "2012-02-22T06:56:18+0000"
  },
  {
     "name": "Stations",
     "category": "Company",
     "id": "567657567",
     "created_time": "2012-01-30T23:08:39+0000"
  }

]

}

然后我想列出例如所有的名字都返回了:

foreach ($likesList->data as $element2){ 

    $name = $element2[name];

    echo $name; 

}

但它是空的?

【问题讨论】:

    标签: php json foreach


    【解决方案1】:

    查看您的数据结构的this visualization。

    当您收到一个数组时,您需要$list["data"] 而不是$list->data。另外不要忘记引用数组键"name"。

    【讨论】:

    • 我印象深刻。 include-once 这件事是谁干的?
    • 那是我。在极少数情况下,它对这些问题很有用。
    • 干得好。-(StackOverflow 是人们做他们真正喜欢的事情的巨大创造力的一个很好的例子):-)
    【解决方案2】:
    foreach ($likesList['data'] as $element2){ 
    
         $name = $element2['name'];
    
         echo $name; 
    }
    

    在参数为 true 的 json_decode 之后,您将拥有关联数组。您可以通过字符串键访问值。就像上面的例子一样。

    【讨论】:

    • 哦,我怎么错过了。正确。
    猜你喜欢
    • 1970-01-01
    • 2020-10-20
    • 1970-01-01
    • 1970-01-01
    • 2019-04-09
    • 1970-01-01
    • 2019-03-18
    • 2021-07-28
    • 1970-01-01
    相关资源
    最近更新 更多