使用json导入多维数据

时间:2019-08-16 23:36:38

标签: php arrays json

我正在尝试从https://fantasy.premierleague.com/api/bootstrap-static/

中提取与特定游戏周相关的数据

正如您在网页上看到的那样,在“事件”数组中有多个对象(每个游戏周都是使用“ id”字段标识的一个对象)。

我正在尝试打印游戏第1周的平均得分。

我一直收到“未定义的索引:名称”错误。有人可以帮我弄清楚我在做什么错吗?

从代码中可以看到,我尝试了以下操作:

我正在尝试打印游戏第1周的平均得分。

$json2=file_get_contents("https://fantasy.premierleague.com/api/bootstrap- 
static/");
$data2 = json_decode($json2, true);         
<?PHP
if($data2['events']['id']=1)
{
?>
<td><?PHP print $data2['events']['name']; ?></td>
<td><?PHP print $data2['events']['average_entry_score']; ?></td>
<?PHP
}
?>

1 个答案:

答案 0 :(得分:0)

您的代码有些错误:

    PHP内的
  1. <?PHP将为您提供
  

PHP解析错误:语法错误,意外的“ <”,

  1. if($data2['events']['id']=1) 您正在分配一个值,而不是进行比较,该值应该为if($data2['events']['id'] == 1)-由于$data2['events']['id']不存在,它将永远不会触发。

您已经说过$data2['events']是一个数组,因此您可以通过以下方式访问其数据 $data2['events'][0]$data2['events'][1]

实现您想要的正确代码是:

<?php
$json2 = file_get_contents("https://fantasy.premierleague.com/api/bootstrap-static/");
$data2 = json_decode($json2, true);
?>
<td><?php print $data2['events'][0]['name']; ?></td>
<td><?php print $data2['events'][0]['average_entry_score']; ?></td>