带有逗号分隔文件的php fscanf
我的文件包含记录行,如带有逗号分隔文件的php fscanf,php,Php,我的文件包含记录行,如 HCV,10002,Mich,2,1,HR Dept.,2015-09-27 10:34:47,Attend 我试过了 $data = fscanf($handle, "%[^ \t\n\r\v\f,]%*c"); list ($a1,$a2,$a3,$a4,$a5,$a6,$a7,$a8) = $data; 但是没有成功,请帮忙 您可以对文件中的每一行使用str\u getcsv。请参见下面的我的代码: $file = 'HCV,10002,Mich,2,1,HR
HCV,10002,Mich,2,1,HR Dept.,2015-09-27 10:34:47,Attend
我试过了
$data = fscanf($handle, "%[^ \t\n\r\v\f,]%*c");
list ($a1,$a2,$a3,$a4,$a5,$a6,$a7,$a8) = $data;
但是没有成功,请帮忙 您可以对文件中的每一行使用
str\u getcsv
。请参见下面的我的代码:
$file = 'HCV,10002,Mich,2,1,HR Dept.,2015-09-27 10:34:47,Attend
HCV2,10002,Mich,2,1,HR Dept.,2015-09-27 10:34:47,Attend
HCV5,10002,Mich,2,1,HR Dept.,2015-09-27 10:34:47,Attend';
$result = [];
foreach (explode(PHP_EOL, $file) as $line) {
$result[] = str_getcsv($line);
}
print_r($result);
它将输出:
Array
(
[0] => Array
(
[0] => HCV
[1] => 10002
[2] => Mich
[3] => 2
[4] => 1
[5] => HR Dept.
[6] => 2015-09-27 10:34:47
[7] => Attend
)
[1] => Array
(
[0] => HCV2
[1] => 10002
[2] => Mich
[3] => 2
[4] => 1
[5] => HR Dept.
[6] => 2015-09-27 10:34:47
[7] => Attend
)
[2] => Array
(
[0] => HCV5
[1] => 10002
[2] => Mich
[3] => 2
[4] => 1
[5] => HR Dept.
[6] => 2015-09-27 10:34:47
[7] => Attend
)
你希望你的查询是一个数组吗?是的,如果可能的话,我必须把数据放到mysql中!在while循环中包装数据。例如:
while($data=fscanf($handle,%[^\t\n\r\v\f,]%*c”){list($a1,$a2,$a3,$a4,$a5,$a6,$a7,$a8)=$data;}