PHP - 在线获取股票报价

时间:2017-09-07 22:51:11

标签: php arrays json stocks asx

我有一个php文件,我试图获取在线数据/股票报价,我想在一个html表格中逐行打印 继承我的代码:

{
    $url = 'http://download.finance.yahoo.com/d/quotes.csv?
    s=^AORD+BHP.AX+BLT.L+AAPL&f=nd1l1';
    $data = file_get_contents($url);

    echo $data;
}

,输出为: “ALL ORDINARIES”,“9/7/2017”,5753.80“BHP BLT FPO”,“9/7/2017”,27.33“BHP BILLITON PLC ORD $ 0.50”,“9/7/2017”,1457.50“Apple Inc. “,”9/7/2017“,161.26

我想拥有的是这样的:

"ALL ORDINARIES","9/7/2017",5753.80
"BHP BLT FPO","9/7/2017",27.33
"BHP BILLITON PLC ORD $0.50","9/7/2017",1457.50
"Apple Inc.","9/7/2017",161.26

我试着这样做:

echo $data[1];

但结果是: “A”

我的方法应该如何?谢谢!

2 个答案:

答案 0 :(得分:0)

$data是一个字符串,而不是一个数组。使用nl2br()将数据中的换行符转换为HTML <br>标记:

echo nl2br($data);

或者在<pre>块中打印,表明数据已格式化,不应被浏览器包装。

echo '<pre>' . $data . '</pre>';

答案 1 :(得分:0)

目前,$data是一个字符串,为整个字符串提供$data[0] == '"'; $data[1] == 'A'; $data[2] == 'L', $data[3] == 'L' ...

由于您要提取csv文件,$data = str_getcsv($data)会将$data中包含的字符串转换为数组。请参阅http://php.net/manual/en/function.str-getcsv.php