我有一个PHP CSV文件,如下所示:
'numberOfProducts' 'lastUpdated'
'28' '2016-09-19 06:55'
我试着这样做:
print_r( str_getcsv( $csv, "\n", "\t" ) );
print_r( str_getcsv( $csv, "\t", "\n" ) );
这只是一团糟。
但我的预期结果应该是这样的:
'numberOfProducts' => '28'
'lastUpdated' => '2016-09-19 06:55'
是否可以使用str_getcsv或explode更容易?
这是我的结果:
Array
(
[0] => numberOfProducts
[1] => lastUpdated
'28'
[2] => 2016-09-19 06:55
)
不像我预期的结果。
答案 0 :(得分:2)
文档很清楚
array str_getcsv ( string $input [, string $delimiter = "," [, string $enclosure = '"' [, string $escape = "\\" ]]] )
您的分隔符既不是\n
,也不是\r
- 它们都代表换行符。您的分隔符看起来像tab。所以试试
print_r( str_getcsv( $csv, "\t", "'"));
答案 1 :(得分:1)
“ str_getcsv ”一次只解析一行:
您需要为每一行运行它:
$rows = explode("\n", $csv);
foreach($rows as $row){
print_r( str_getcsv( $row, "\t", "'") );
}