首頁 >後端開發 >php教程 >关于fgetcsv函数

关于fgetcsv函数

WBOY
WBOY原創
2016-06-23 14:38:581227瀏覽

fgetcsv(resource fp,int length [, string delimiter , string enclosure, escape]])

请把红色的部分解释一下。写个例子。

绿色是干什么的


回复讨论(解决方案)

array fgetcsv ( resource $handle [, int $length = 0 [, string $delimiter = ',' [, string $enclosure = '"' [, string $escape = '\\' ]]]] )
和 fgets() 类似,只除了 fgetcsv() 解析读入的行并找出 CSV 格式的字段然后返回一个包含这些字段的数组。
参数 ¶
handle
一个由 fopen()、 popen() 或 fsockopen() 产生的有效文件指针。
length
必须大于 CVS 文件内最长的一行。在 PHP 5 中该参数是可选的。如果忽略(在 PHP 5.0.4 以后的版本中设为 0)该参数的话,那么长度就没有限制,不过可能会影响执行效率。
delimiter
设置字段分界符(只允许一个字符)。
enclosure
设置字段环绕符(只允许一个字符)。
escape
设置转义字符(只允许一个字符),默认是一个反斜杠。

PHP fgetcsv() 函数

array fgetcsv ( resource $handle [, int $length = 0 [, string $delimiter = ',' [, string $enclosure = '"' [, string $escape = '\\' ]]]] )
和 fgets() 类似,只除了 fgetcsv() 解析读入的行并找出 CSV 格式的字段然后返回一个包含这些字段的数组。
参数 ¶
handle
一个由 fopen()、 popen() 或 fsockopen() 产生的有效文件指针。
length
必须大于 CVS 文件内最长的一行。在 PHP 5 中该参数是可选的。如果忽略(在 PHP 5.0.4 以后的版本中设为 0)该参数的话,那么长度就没有限制,不过可能会影响执行效率。
delimiter
设置字段分界符(只允许一个字符)。
enclosure
设置字段环绕符(只允许一个字符)。
escape
设置转义字符(只允许一个字符),默认是一个反斜杠。


我想知道enclosure,escape参数怎么用。给个例子。

$s =<<< TXTaaa,bbb,ccc"aaa","bbb","ccc"'aaa'|'bbb'|'ccc'TXT;file_put_contents('csv_test.txt', $s);$fp = fopen('csv_test.txt', 'r');print_r(fgetcsv($fp));print_r(fgetcsv($fp));print_r(fgetcsv($fp, "|", "'"));
Array
(
    [0] => aaa
    [1] => bbb
    [2] => ccc
)
Array
(
    [0] => aaa
    [1] => bbb
    [2] => ccc
)
Array
(
    [0] => 
    [1] => aaa
    [2] => |
    [3] => bbb
    [4] => |
    [5] => ccc
    [6] => 
)

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn