我试图从nhl统计数据库(http://nhlwc.cdnak.neulion.com/fs1/nhl/league/playerstatsline/20142015/2/OTT/iphone/playerstatsline.json)中抓取nhl统计数据,然后将表格分成一系列玩家,其中包含元组(数量,目标,助攻,分数,罚分数)等等,然后将它们添加到SQL数据库中。到目前为止,我已经能够从页面获取信息,我想我已经把它变成了一个阵列,但我似乎无法把它分成单个玩家,他们的各自的统计数据。 这是我到目前为止所做的:(不多)
$url = 'http://nhlwc.cdnak.neulion.com/fs1/nhl/league/playerstatsline/20142015/2/OTT/iphone/playerstatsline.json';
$output = file_get_contents($url);
$data = json_decode($output, true);
echo $output;
echo $data;
答案 0 :(得分:2)
首先,您的源网址中存在错误。有一个例子可以说明如何用数组中的数据填充一组玩家。
$url = 'http://nhlwc.cdnak.neulion.com/fs1/nhl/league/playerstatsline/20142015/2/OTT/iphone/playerstatsline.json';
$output = file_get_contents($url);
$data = json_decode($output);
$skatersData = array();
foreach($data->skaterData as $sktr) {
$skatersData[$sktr->id] = explode(',', $sktr->data);
}
var_dump($skatersData);
答案 1 :(得分:1)
您可以使用数组表示法($data['fieldName']
)访问数据,因此对于您的JSON,您可以循环遍历每个滑块,如下所示;
foreach($data['skaterData'] as $sktr) {
echo $sktr['id'] . " " . $sktr['data'];
}
然后,您可以根据需要为循环内的每个滑手使用$sktr[]
中的值。您始终可以直接访问已解码数据中的其他值,例如$data['timestamp']
。
如果您从true
删除$data = json_decode($output, true);
,则应使用对象标记
foreach($data->skaterData as $sktr) {
echo $sktr->id . " " . $sktr->data;
}
希望这有帮助。