获取子数组的值

时间:2017-12-19 12:32:43

标签: php json

我试图通过此api链接获得当前的美元/欧元汇率:

http://api.fixer.io/latest?base=USD&symbols=EUR

使用此代码:

$url = "http://api.fixer.io/latest?base=USD&symbols=EUR";
$json = json_decode(file_get_contents($url), true);
$price = $json->rates[0]->EUR;

我希望$price的结果如下:"0.84782", 但似乎我做错了什么?

2 个答案:

答案 0 :(得分:1)

<?php

$url = "http://api.fixer.io/latest?base=USD&symbols=EUR";
$json = json_decode(file_get_contents($url), true);
$price=$json['rates']['EUR'];
echo $price;

这对你有用。您要查找的价格是嵌套数组,因此您必须首先访问父数据。

答案 1 :(得分:0)

您正在将true传递给json_decode,因此返回的值是一个数组。要改为使用对象,请删除true,如下所示:

$json = json_decode(file_get_contents($url));

像这样访问它:

echo $json->rates->EUR; // Output is: 0.84782

如果要访问数组样式:

$json = json_decode(file_get_contents($url), true);
echo $json['rates']['EUR']; // 0.84782