我有一个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”
我的方法应该如何?谢谢!
答案 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。