English | 简体中文 | 繁體中文
查询

SplFileObject::fgetcsv()函数—用法及示例

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


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

补充纠错
上一个函数: SplFileObject::fgets()函数
下一个函数: SplFileObject::fgetc()函数
热门PHP函数
分享链接