У меня есть 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;
}
и вывод:
«ВСЕ ПОВЕСТКИ ДНЯ», «7.09.2017», 5753.80 «BHP BLT FPO», «7.09.2017», 27.33 «BHP BILLITON PLC ORD $ 0.50», «7.09.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];
но результат таков:
«А»
каким должен быть мой подход к этому? Спасибо!
$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.