【问题标题】:How do I make the columns of a CSV as arrays with the header being the key in PHP如何将 CSV 的列作为数组,标题是 PHP 中的关键
【发布时间】:2017-06-12 17:08:43
【问题描述】:

我有一个 csv 文件,我需要从中提取我们使用的数据。我需要从每一列创建一个单独的数组,所以:

我需要 heading1 作为键,值作为 data1、data2、data3。

我想我需要密钥才能访问特定列。

【问题讨论】:

  • 读取 csv 并执行简单的 for 循环,使用数组键 header 创建所需的数组

标签: php arrays csv foreach


【解决方案1】:

您可以使用str_getcsv() 函数。

【讨论】:

    【解决方案2】:

    您可以获取第一行,然后在迭代后续行时使用 array_combine 以将标题行中的值用作数组键。

    $file = fopen('yourfile.csv', 'r');
    
    $keys = fgetcsv($file);   // get the headers
    
    while (false !== ($values = fgetcsv($file))) {
        $row = array_combine($keys, $values);   // combine headers with values
        // now you can do
        $value = $row['heading1']; //etc.
    
    }
    

    【讨论】:

    • false !== .. 10/10 清晰度。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-01
    • 1970-01-01
    相关资源
    最近更新 更多