首页 话题 小组 问答 好文 用户 我的社区 域名交易 唠叨

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

发布于 2025-05-06 22:59:58
0
18

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

评论
一个月内的热帖推荐
啊龙
Lv.1普通用户

9545

帖子

31

小组

3242

积分

赞助商广告
站长交流