Sub*_*axe 4 php arrays loops fgetcsv fputcsv
我有使用fputcsv创建的字符串
Date,Name,Hours 2013-01-02,"Test User",7:59 2013-01-03,"Test User",7:53 2013-01-04,"Test User",8:12 2013-01-07,"Test User",7:56 2013-01-08,"Test User",8:25 2013-01-09,"Test User",7:56 2013-01-10,"Test User",8:10 2013-01-11,"Test User",7:53 2013-01-14,"Test User",7:54 2013-01-15,"Test User",0:34 2013-04-01,"Test User",5:51 2013-04-02,"Test User",8:50 2013-04-03,"Test User",7:25 2013-04-04,"Test User",8:3 2013-04-05,"Test User","10:42:52[Not punch out]" ,Total,103:1
Run Code Online (Sandbox Code Playgroud)
当正确的标题(标题('Content-type:application/csv');标题('Content-Disposition:attachment; filename ="'.$ filename.'"');)被设置时,它会给出正确的csv文件.

但是我想再次将这个字符串转换为数组格式,所以我尝试将上面的字符串传递给str_getcsv但是得到像这样的数组
Array
(
[0] => Date
[1] => Name
[2] => Hours
2013-01-02
[3] => "Allen Herrera"
[4] => 7:59
2013-01-03
[5] => "Allen Herrera"
[6] => 7:53
2013-01-04
[7] => "Allen Herrera"
[8] => 8:12
2013-01-07
[9] => "Allen Herrera"
[10] => 7:56
2013-01-08
[11] => "Allen Herrera"
[12] => 8:25
2013-01-09
[13] => "Allen Herrera"
[14] => 7:56
2013-01-10
[15] => "Allen Herrera"
[16] => 8:10
2013-01-11
[17] => "Allen Herrera"
[18] => 7:53
2013-01-14......................
Run Code Online (Sandbox Code Playgroud)
你能帮助我获得格式正确的数组,这样我就可以轻松地使用它在数组上创建表循环.
$file = file_get_contents("test.csv");
$data = array_map("str_getcsv", preg_split('/\r*\n+|\r+/', $file));
print_r($data);
Run Code Online (Sandbox Code Playgroud)