如何从数组中获取数据[API / JSON]

时间:2014-01-09 19:48:03

标签: php json

我目前正在尝试使用API​​,但我发现很难将api中的数据提取到我的网页中。

我尝试过使用json_decode($,true),它运行正常,但有些数据我不能提取。

就像在这个例子中,你会如何获得这个名字?

{"id":12345678,"name":"MyAwesomeLeagueName","profileIconId":593,"summonerLevel":30,"revisionDate":1389164617000}

我已经习惯从别人那里获取数据,但是真的无法使用类似这样的类型。

//put json in array 
$r = json_decode($r, true); 
echo $r['champions'][1]['attackRank'];

此外,如果有人有一些好的JSON - > PHP教程我真的很感激。

1 个答案:

答案 0 :(得分:3)

在该示例中,要访问该名称,您只需要参考$ r ['name']例如

echo $r['name'];

解码JSON字符串后,在数组上执行var_dump,它会显示内容以及如何访问。

要根据您的示例获得具有特定魔法等级的所有内容,您需要遍历数组并测试特定键的值:

$r = json_decode($r, true);

//loop through $r
foreach ($r['champions'] as $key => $value) {
  if ($value['magicRank'] != 8) {
    //if magicRankis not 8, ignore and move on to the next entry
    continue;
  }
  //magicRank is 8, do something
  echo $value['name'] . " has magic rank of 8<br />";
}