📜  在 php 中读取 csv 文件(1)

📅  最后修改于: 2023-12-03 14:51:04.477000             🧑  作者: Mango

在 PHP 中读取 CSV 文件

CSV(Comma Separated Values)文件是一种以逗号为分隔符,用于存储数据的文件格式,它的扩展名为.csv。在PHP中读取CSV文件可以用于数据获取以及数据处理等操作。

读取 CSV 文件

PHP提供了fgetcsv函数来读取CSV文件。fgetcsv() 函数从打开的文件中取一行 CSV(逗号分隔)格式,并返回一个包含行中各字段的数组。

语法
fgetcsv ( resource $handle [, int $length = 0 [, string $delimiter = "," [, string $enclosure = '"' [, string $escape = "\\" ]]]] ) : array|false
参数

handle : 必须。打开文件的文件指针。

length : 可选。规定行的最大长度。默认是 0,表示长度没有限制。

delimiter : 可选。规定字段之间的分隔符。默认是 ","。

enclosure : 可选。规定字段值括在什么字符之间。默认是 '"'。

escape : 可选。规定用来转义分隔符字符的字符。默认是 ""。

返回值

返回由CSV文件中当前行所组成的数组,如果到达文件尾部,则返回 false

实例演示

下面是一个实例,演示如何读取CSV文件。

示例文件
id,name,age
1,Jhon Smith,25
2,William Adams,30
3,David Wilson,32
4,Daniel Carter,28
代码
<?php
// 打开 CSV 文件
$handle = fopen("example.csv", "r");

// 判断文件是否打开成功
if ($handle !== FALSE) {
    // 解析 CSV 内容
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
        // 将 CSV 行转换成数组
        $csvArray[] = $data;
    }
    // 关闭 CSV 文件
    fclose($handle);
}

// 打印数组
echo "<pre>";
print_r($csvArray);
echo "</pre>";
?>
输出
Array
(
    [0] => Array
        (
            [0] => id
            [1] => name
            [2] => age
        )

    [1] => Array
        (
            [0] => 1
            [1] => Jhon Smith
            [2] => 25
        )

    [2] => Array
        (
            [0] => 2
            [1] => William Adams
            [2] => 30
        )

    [3] => Array
        (
            [0] => 3
            [1] => David Wilson
            [2] => 32
        )

    [4] => Array
        (
            [0] => 4
            [1] => Daniel Carter
            [2] => 28
        )

)

以上就是在PHP中读取CSV文件的示例。