函数名称:SplFileObject::fgetcsv()
适用版本:PHP 5 >= 5.1.0, PHP 7
函数描述:SplFileObject::fgetcsv() 函数从 SplFileObject 对象中读取一行 CSV 数据,并将其解析为一个数组。
用法:
public array SplFileObject::fgetcsv ([ string $delimiter = "," [, string $enclosure = "\"" [, string $escape = "\\" ]]] )
参数:
- delimiter(可选):指定 CSV 数据中的字段分隔符,默认为逗号(,)。
- enclosure(可选):指定用于包裹字段的字符,默认为双引号(")。
- escape(可选):指定用于转义特殊字符的字符,默认为反斜杠(\)。
返回值:
- 如果成功读取一行 CSV 数据,则返回包含字段值的数组。如果已到达文件末尾,则返回 false。
示例:
假设我们有一个名为data.csv
的 CSV 文件,内容如下:
id,name,age
1,John,25
2,Jane,30
3,Michael,35
我们可以使用 SplFileObject::fgetcsv() 函数来读取该文件的每一行数据:
$file = new SplFileObject('data.csv', 'r');
while (!$file->eof()) {
$data = $file->fgetcsv();
if ($data !== false) {
print_r($data);
}
}
$file = null; // 释放资源
输出结果:
Array
(
[0] => id
[1] => name
[2] => age
)
Array
(
[0] => 1
[1] => John
[2] => 25
)
Array
(
[0] => 2
[1] => Jane
[2] => 30
)
Array
(
[0] => 3
[1] => Michael
[2] => 35
)
以上示例代码打开了一个名为data.csv
的文件,并使用 while 循环逐行读取数据。每次调用 SplFileObject::fgetcsv() 函数都会返回一个包含字段值的数组,直到文件末尾为止。