Home >Backend Development >PHP Tutorial >关于fgetcsv函数

关于fgetcsv函数

WBOY
WBOYOriginal
2016-06-23 14:38:581229browse

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] => 
)

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn