PHP和嵌套数组的麻烦

时间:2012-08-02 18:15:34

标签: php arrays foreach nested json

我很难使用json_decode()处理嵌套数组。我想获得一个团队名单。

这是实际的数组:http://pastebin.com/eMqMcucN

如果你看一下阵列,有三个队。第一个团队包含我不需要但不完整的数据(但我能够获得团队名称)。它是嵌套数组,团队拥有完整的数据。我想得到的是两个额外的团队名称,并忽略了第一个团队,因为它没有嵌套数组,也没有真正的细节。但是,我没有问题来确定第一个团队名称,因为它没有嵌套。

非常感谢任何帮助/方向。以下是我目前在上面的数组中使用的内容。

行“echo”名称:'。$ sd-> name;“抛出错误“警告:为foreach()提供的参数无效”。我尝试过各种变化,但没有运气。

$obj=json_decode($json);
$data = $obj->fantasy_content->users->{'0'}->user[1]->teams;
$userguid = $obj->fantasy_content->users->{'0'}->user->{'0'};

echo '<pre>'; 
foreach($data as $d){

    $subdata = $d->team;

    foreach($subdata as $sd){
        echo 'name: ' .  $sd->name; //this line errors
    }
 }

1 个答案:

答案 0 :(得分:1)

你应该更深层次,在team下有另一个数组,只有这个数组包含name的数组:

[team] => Array
                (
                    [0] => Array (
                       [0] => stdClass Object
                            (
                                [team_key] => 273.l.73856.t.9
                            )

                       [1] => stdClass Object
                            (
                                [team_id] => 9
                            )

                       [2] => stdClass Object
                       (
                            [name] => Team API
                       )
                       ...
                    )
                )