【问题标题】:Foreach loop through an array of JSON from an APIForeach 循环遍历来自 API 的 JSON 数组
【发布时间】:2018-01-21 15:08:12
【问题描述】:

我正在使用 IEX API 创建一个股票市场投资组合网站,但在将数据作为数组检索然后将值存储在表中时,我目前陷入了困境。

代码如下:

$div = file_get_contents("https://api.iextrading.com/1.0/stock/market/batch?symbols=F,AAPL&types=stats&filter=dividendRate");  
$div = json_decode($div,TRUE);  

foreach($div as $divi => $value)
echo '<br/>'. $divi.' : '. $value;

var_dump($div);

我现在得到的是:

注意:数组到字符串的转换 E:\XAMPP\htdocs\website2\test.php 在第 34 行

F : 数组

注意:数组到字符串的转换 E:\XAMPP\htdocs\website2\test.php 在第 34 行

AAPL:数组

从 var_dump 中,我得到了这个:

array(2) { ["F"]=> array(1) { ["stats"]=> array(1) { ["dividendRate"]=> float(0.13) } } ["AAPL"]=> array(1) { ["stats"]=> 数组(1) { ["dividendRate"]=> 浮点数(2.52) } } }

本质上,我希望在表格中的符号旁边显示股息金额而不是单词“数组” - 我在这里错过了什么? 谢谢!

【问题讨论】:

  • 错误信息一目了然,不是吗? F 拥有一个 _array。你不能简单地echo 一个数组。

标签: php arrays json api


【解决方案1】:

您需要进一步引用正确的数组元素才能在循环中获取此值...

foreach($div as $divi => $value) {
    echo '<br/>'. $divi.' : '. $value['stats']['dividendRate'];
}

【讨论】:

  • 谢谢!感谢您的帮助。
【解决方案2】:

从 var_dump 可以看出,这个数据是数组的数组。当你尝试回显一个数组时,它只会输出字符串'Array'。指定该数组元素的键以获取实际数据。

foreach($div as $divi => $value) {
    echo $divi . ':' . $value['stats']['dividendRate'];
}

这是格式化的数据。

array(2) {
    ["F"]=> array(1) { 
        ["stats"]=> array(1) {
            ["dividendRate"]=> float(0.13) 
        }
    } 
    ["AAPL"]=> array(1) { 
        ["stats"]=> array(1) { 
            ["dividendRate"]=> float(2.52) 
        } 
    } 
}

【讨论】:

  • 谢谢!感谢您的帮助。
猜你喜欢
  • 2013-12-16
  • 2021-01-07
  • 2013-02-12
  • 2013-12-25
  • 1970-01-01
  • 2010-10-24
  • 2018-07-17
  • 2021-10-11
相关资源
最近更新 更多