SplFileObject::fgetcsv()

从 SplFileObject 对象中读取一行 CSV 数据,并将其解析为一个数组

首字母:S

函数名称: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() 函数都会返回一个包含字段值的数组,直到文件末尾为止。

同首字母函数