我正在使用一个API,它在很多数组中都有很多数据,你可能会觉得它很混乱。我对API很新,特别是没有文档。
下面我的代码是抓取recent_games()函数,它正在拉动整个API,然后我使用foreach循环来获取数据。
$games = $player->recent_games();
foreach($games['gameStatistics']['array'] as $key => $gameStatistic) {
$game_date[strtotime($gameStatistic['createDate'])] = $gameStatistic;
}
// order data
krsort($game_date);
foreach ($game_date as $game => $data) {
$statistics[$data] = $data['statistics'];
}
我收到的错误如非法偏移:
$statistics[$data] = $data['statistics'];
有没有办法继续使用数组嵌套($ game_date)来获取我需要的数据?
如果您需要更多信息,请与我们联系。
由于
编辑更多信息:
顶部的第一个foreach循环每个游戏循环一个unix时间戳键。看起来像这样:
[1370947566] => Array
(
[skinName] => Skin_name
[ranked] => 1
[statistics] => Array
(
[array] => Array
(
[0] => Array
(
[statType] => stat_data
[value] => 1234
)
[1] => Array
(
[statType] => stat_data
[value] => 1234
)
正如你可以看到它完全嵌套但我试图找到个别统计数组。我希望有帮助吗?
答案 0 :(得分:3)
$statistics[$data] = $data['statistics'];
这条线绝对没有办法。
右侧使用$data
,就像它是一个数组,索引到它。左侧将$data
用作键到数组中。由于键的唯一有效类型是字符串和整数,$data
不能同时满足两个表达式的要求 - 它不能是数组和字符串或整数。
从错误消息中可以明显看出$data
实际上是一个数组,因此将其用作$staticstics[$data]
是错误的。你想要$statistics
是什么?