PHP csv 字符串解析
PHP csv string parsing
我有一个 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 or is it easier with explode可以吗?
结果
这是我的结果:
Array
(
[0] => numberOfProducts
[1] => lastUpdated
'28'
[2] => 2016-09-19 06:55
)
不像我预期的结果。
文档写的很清楚
array str_getcsv ( string $input [, string $delimiter = "," [, string $enclosure = '"' [, string $escape = "\" ]]] )
您的分隔符既不是 \n
,也不是 \r
- 两者都代表换行符。您的分隔符看起来像制表符。所以试试
print_r( str_getcsv( $csv, "\t", "'"));
"str_getcsv" 一次只解析一行:
您需要 运行 每行:
$rows = explode("\n", $csv);
foreach($rows as $row){
print_r( str_getcsv( $row, "\t", "'") );
}
我有一个 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 or is it easier with explode可以吗?
结果
这是我的结果:
Array
(
[0] => numberOfProducts
[1] => lastUpdated
'28'
[2] => 2016-09-19 06:55
)
不像我预期的结果。
文档写的很清楚
array str_getcsv ( string $input [, string $delimiter = "," [, string $enclosure = '"' [, string $escape = "\" ]]] )
您的分隔符既不是 \n
,也不是 \r
- 两者都代表换行符。您的分隔符看起来像制表符。所以试试
print_r( str_getcsv( $csv, "\t", "'"));
"str_getcsv" 一次只解析一行:
您需要 运行 每行:
$rows = explode("\n", $csv);
foreach($rows as $row){
print_r( str_getcsv( $row, "\t", "'") );
}