PHP - получение котировок акций онлайн
У меня есть файл 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;
}
и вывод: "ВСЕ ОБЫЧНЫЕ","9/7/2017",5753.80 "BHP BLT FPO","7/7/2017", 27,33 "BHP BILLITON PLC ORD $0,50", "7/7/2017",1457.50 "Apple Inc.","7.09.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];
но результат: "А"
каким должен быть мой подход к этому? Спасибо!
2 ответа
$data
это строка, а не массив. использование nl2br()
преобразовать перевод строки в данных в HTML <br>
теги:
echo nl2br($data);
Или напечатайте это в <pre>
блок, чтобы указать, что данные отформатированы и не должны быть обернуты браузером.
echo '<pre>' . $data . '</pre>';
В настоящее время, $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.