我正在用CSV编写以下代码来获取库存数据,当我下载字符串时,它会按以下方式拆分
<COMPANY NAME>,<STOCK PRICE>,<STOCK CHANGE>
<COMPANY2 NAME>,<STOCK PRICE2>,<STOCK CHANGE2>
我试图使用PHP函数explode使用/ n字符拆分数组。然而,这并没有恰当地分裂它。这是我的代码:
public function getQuotes()
{
$result = array();
$format = $this->format;
$stockString = "";
foreach ($this->stocks as $stock)
{
$stockString = $stockString . $stock . "+";
}
//Remove the last "+"
$stockString = substr($stockString,0,strlen($stockString)-1);
$s = file_get_contents("http://finance.yahoo.com/d/quotes.csv?s=". $stockString . "&f=" . $format . "&e=.csv");
//The splitting is to be done here.
}
}
提前谢谢
答案 0 :(得分:0)
使用file
功能代替file_get_contents
- 它将为您分割内容,正如php manual所说:
返回数组中的文件。数组的每个元素对应于 文件中的一行,新行仍然附加。失败后, file()返回FALSE。
然后,您可以对数组的每个元素使用str_getcsv来获取字段值。
public function getQuotes()
{
$result = array();
$format = $this->format;
$stockString = "";
foreach ($this->stocks as $stock)
{
$stockString = $stockString . $stock . "+";
}
//Remove the last "+"
$stockString = substr($stockString,0,strlen($stockString)-1);
$s = file("http://finance.yahoo.com/d/quotes.csv?s=". $stockString . "&f=" . $format . "&e=.csv");
foreach($s as $line) {
$values = str_getcsv($line);
}
}