PHP fgetcsv() 函数


定义和用法

fgetcsv() 函数从打开的文件中解析一行,校验 CSV 字段

fgetcsv() 函数会在到达指定长度或读到文件末尾(EOF)时(以先到者为准),停止返回一个新行。

该函数如果成功则以数组形式返回 CSV 字段,如果失败或者到达文件末尾(EOF)则返回 FALSE。

语法

  1. fgetcsv(file,length,separator,enclosure)

参数 描述
file 必需。规定要检查的文件。
length 可选。规定行的最大长度。必须大于 CSV 文件内最长的一行。如果忽略该参数(或者设置为 0),那么行长度就没有限制,不过可能会影响执行效率。

注意:该参数在 PHP 5 之前的版本是必需的。

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

提示和注释

提示:请参阅 fputcsv() 函数。

实例 1

  1. <?php
    $file = fopen("contacts.csv","r");
    print_r(fgetcsv($file));
    fclose($file);
    ?>

CSV 文件:

  1. Kai Jim, Refsnes, Stavanger, Norway
    Hege, Refsnes, Stavanger, Norway

以上的代码将输出:

  1. Array
    (
    [0] => Kai Jim
    [1] => Refsnes
    [2] => Stavanger
    [3] => Norway
    )

实例 2

  1. <?php
    $file = fopen("contacts.csv","r");

    while(! feof($file))
    {
    print_r(fgetcsv($file));
    }

    fclose($file);
    ?>

CSV 文件:

  1. Kai Jim, Refsnes, Stavanger, Norway
    Hege, Refsnes, Stavanger, Norway

以上的代码将输出:

  1. Array
    (
    [0] => Kai Jim
    [1] => Refsnes
    [2] => Stavanger
    [3] => Norway
    )
    Array
    (
    [0] => Hege
    [1] => Refsnes
    [2] => Stavanger
    [3] => Norway
    )