我有一个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;
}输出结果为:“所有普通”,“2017年9月7日”,5753.80“必和必拓BLT FPO",”2017年9月7日“,27.33”必和必拓PLC订单$0.5“,”2017年9月7日“,1457.50”苹果公司“,”2017年9月7日“,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“
我该如何处理这个问题呢?谢谢!
发布于 2017-09-08 06:59:36
$data是字符串,而不是数组。使用nl2br()将数据中的换行符转换为HTML <br>标记:
echo nl2br($data);或者在<pre>块中打印它,以指示数据已格式化,不应由浏览器包装。
echo '<pre>' . $data . '</pre>';发布于 2017-09-08 07:05:21
目前,$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。
https://stackoverflow.com/questions/46106223
复制相似问题