php fgetcsv() 函数语法参数enclosure详解

怪我咯
Lepaskan: 2023-03-13 13:14:01
asal
2223 orang telah melayarinya

fgetcsv() 函数从文件指针中读入一行并解析 CSV 字段。

与 fgets() 类似,不同的是 fgetcsv() 解析读入的行并找出 CSV 格式的字段,然后返回一个包含这些字段的数组

fgetcsv() 出错时返回 FALSE,包括碰到文件结束时。

注释:从 PHP 4.3.5 起,fgetcsv() 的操作是二进制安全的。

语法

fgetcsv(file,length,separator,enclosure)
Salin selepas log masuk
参数描述
file必需。规定要检查的文件。
length

可选。规定行的最大长度。必须大于 CVS 文件内最长的一行。

在 PHP 5 中该参数是可选的。在 PHP 5 之前是必需的。

如果忽略(在 PHP 5.0.4 以后的版本中设为 0)该参数的话,那么长度就没有限制,不过可能会影响执行效率。

separator可选。设置字段分界符(只允许一个字符),默认值为逗号。
enclosure

可选。设置字段环绕符(只允许一个字符),默认值为双引号。

该参数是在 PHP 4.3.0 中添加的。

对于enclosure的解释是围绕字段的字符。

包含逗号, 双引号, 或是换行符的字段必须放在引号内(只有三个特殊值时需要特别处理)。
字段内部的引号必须在其前面增加一个引号来实现引号的转码。
分隔符逗号前后的空格 可能不会被修剪掉。
元素中的换行符将被保留下来。

对应于下面例子,就会比较容易理解上述说明了。

字段1 字段2 字段3

goog veture"vision,good" abc

对于上面一行的三个字段,假如我想用fgetscv()把它读出来并存到array去,就必须对csv文件中存储的格式进行限定。

csv存储的内容有l两种情况:

(1)情况一, 直接是goog,veture"vision,good",abc

这样你会发现get出来的不是你想要的东西。其array输出是

Array ( [0] => goog [1] => vetur"evision [2] => good" [3] => abc )

(2)情况二,csv里的内容是goog,"veture""vision,good""",abc

这是根据上面的说明对原有内容进行修改过的。加上了围绕字符双引号。

其array输出是我们想要的

Array ( [0] => goog [1] => veture"vision,good" [2] => abc )
Salin selepas log masuk

对于上面说明的一些补充,若字段内含有逗号,仅需将该字段用双引号括住即可,无需再在逗号前面加双引号。


Atas ialah kandungan terperinci php fgetcsv() 函数语法参数enclosure详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
php
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!