这是我尝试访问的输出:
stdClass Object
(
[results] => stdClass Object
(
[columns] => stdClass Object
(
[name] => Name
[id] => id
)
[data] => stdClass Object
(
[team] => Array
(
[0] => stdClass Object
(
[name] => Kansas City
[id] => 47556332
)
[1] => stdClass Object
(
[name] => Chi White Sox
[id] => 03948575
)
[2] => stdClass Object
(
[name] => Detroit
[id] => 3747646625
)
)
)
)
)
)
我正在尝试获取此ID,但我遇到了在0+之后访问任何内容的麻烦。我在这里有两个foreach循环因为我需要遍历名称和id并将它们放在一个表中,但我没有问题。我只需要了解[0]内的任何内容。我如何引用0?
foreach ($data->results->data->team as $team_data) {
foreach ($team_data->THE ID/NUMBER->name as $team_id) {
#code...
}
}
当我执行上面的代码时,我遇到了很多错误。我尝试了不同的方法并继续以下列形式出错:
Notice: Undefined property: stdClass::$0 in index.php on line 61 Notice: Trying to get property of non-object in index.php on line 61
此错误来自尝试使用$ id和$ id ++来获取编号部分。我知道之前已经问过这个问题,但我需要通过多个数字,而不仅仅是0,因为显然
$team_data->{'0'}->name
只适用于一个,但即使尝试这样做我也会遇到错误,我需要得到0,1,2等等。
答案 0 :(得分:1)
我认为你可能会过度思考解决方案..
foreach ($data->results->data->team as $team_id => $team_data) {
// $team_id holds the index of the teams array
echo $team_id;
echo $team_data->name;
echo $team_data->id;
}
答案 1 :(得分:0)
$ team_data已经是其中包含名称和ID的对象。所以跳过第二个foreach
并直接访问$ team_data ['id']和$ team_data ['name']