我正在尝试将CSV字符串解析为PHP中的数组。CSV字符串具有以下属性:
Delimiter: , Enclosure: " New line: \r\n
示例内容:
"12345","Computers","Acer","4","Varta","5.93","1","0.04","27-05-2013" "12346","Computers","Acer","5","Decra","5.94","1","0.04","27-05-2013"
当我尝试这样解析时:
$url = "http://www.url-to-feed.com"; $csv = file_get_contents($url); $data = str_getcsv($csv); var_dump($data);
最后一个元素和第一个元素串联在一个字符串中:
[0]=> string(5) "12345" ... [7]=> string(4) "0.04" [8]=> string(19) "27-05-2013 "12346""
我怎样才能解决这个问题?任何帮助,将不胜感激。
做这个:
$csvData = file_get_contents($fileName); $lines = explode(PHP_EOL, $csvData); $array = array(); foreach ($lines as $line) { $array[] = str_getcsv($line); } print_r($array);
它会给你这样的输出:
Array ( [0] => Array ( [0] => 12345 [1] => Computers [2] => Acer [3] => 4 [4] => Varta [5] => 5.93 [6] => 1 [7] => 0.04 [8] => 27-05-2013 ) [1] => Array ( [0] => 12346 [1] => Computers [2] => Acer [3] => 5 [4] => Decra [5] => 5.94 [6] => 1 [7] => 0.04 [8] => 27-05-2013 ) )
我希望这可以有所帮助。