dongqijuan3786 2014-12-22 06:23
浏览 60
已采纳

使用PHP循环访问JSON数组

My Code:

$json2 = json_decode($content, true);
$thing = $json2{"reply1"}->{"tokens"};
foreach ($thing as $laa) {
  echo $laa->token;
}

Whenever I run this code against my JSON it returns:

PHP Notice:  Trying to get property of non-object in /root/backup.php on line 33
PHP Warning:  Invalid argument supplied for foreach() in /root/backup.php

All I want to do is loop through the JSON and get one part which is the token for each [token]. (Starting part of JSON)

JSON:

Array
(
    [errors] => Array
        (
        )

    [reply] => success
    [item] => Array
        (
            [status] => CURRENT
            [messageURI] => 
        )

    [reply1] => Array
        (
            [tokens] => Array
                (
                    [0] => Array
                        (
                            [token] => 123456

                        )

                    [1] => Array
                        (
                            [token] => 123456

                                )

Any help is appreciated. Thanks.

  • 写回答

1条回答 默认 最新

  • dongxiao1591 2014-12-22 06:27
    关注

    You're accessing an array. You do this with [], not with {}.

    To get at the tokens array, you need $json2['reply1']['tokens'].

    Again, you access individual items in this array with [], not ->. Using $laa->token; is going to fail again.

    Try the following

    $tokens = $json2['reply1']['tokens'];
    
    foreach ($tokens as $token) {
      echo $token['token']
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 安装svn网络有问题怎么办
  • ¥15 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥15 latex怎么处理论文引理引用参考文献