首页 > 解决方案 > 获取 csv 文件中 $row 的所有值

问题描述

我正在尝试这个简单的 CSV 文件:

A;23
B;24
C;25
D;26
E;123
F;243
G;180
H;55
I;243

意思是得到一个包含第一列所有值的数组。代码如下所示:

<?php

    function importData($file, $store_id) {

        $handle = fopen($file, "r");

        while ($row = fgetcsv($handle, 0, ";")) {
        $productIds = array($row[1]);
        var_dump($productIds);
        exit;

        }
        fclose($handle);
    }

    importData("/home/test.csv", 3);

?>

当我转储信息时,$row[0]我得到以下信息:

array(1) {
  [0]=>
  string(1) "A"
}

意思是获取从A到I的所有值,而不仅仅是第一个。应用到代码需要什么?

感谢您的合作

标签: phparrayscsv

解决方案


您每次都在覆盖数组。而是初始化数组一次,然后使用array_push()或使用方括号语法添加元素:

function importData($file, $store_id) {
    $productIds = array();

    $handle = fopen($file, "r");

    while ($row = fgetcsv($handle, 0, ";")) {
        // Append the value onto the array
        $productIds[] = $row[1];
    }
    fclose($handle);
    return $productIds;
}

$productIds = importData("/home/test.csv", 3);

推荐阅读