正在回答
1回答
您好,$length含义:必须大于 CSV 文件内最长的一行。在 PHP 5 中该参数是可选的。如果忽略(在 PHP 5.0.4 以后的版本中设为 0)该参数的话,那么长度就没有限制,不过可能会影响执行效率。
例如:
PHP代码:
<?php $filename = 'test.csv'; $handle = fopen($filename,'rb+'); $row = fgetcsv($handle,4); print_r($row);
test.csv文件
当$length的值设为4的时候,只能取出Array ( [0] => 1 [1] => te )。因为限制了长度为4。(, 也代表一个字符,即取出的是文件中的4个字符1,te)
但如果是循环输出时,依旧设置长度(设置长度为6):
<?php $filename = 'test.csv'; $handle = fopen($filename,'rb+'); while($row = fgetcsv($handle,6)){ print_r($row); }
可以发现数组每个都是长度为6(, 也代表一个字符)
因此length的长度必须是大于 CSV 文件内最长的一行。而此文件中最长的一行则是23个字符。但因为有换行。所以:
<?php $filename = 'test.csv'; $handle = fopen($filename,'rb+'); while($row = fgetcsv($handle,25)){ print_r($row); }
这样才能完整的取出内容。
如果解决了您的问题,请采纳。祝学习愉快!
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星