【问题标题】:Store CSV column and Rows as php variable将 CSV 列和行存储为 php 变量
【发布时间】:2013-02-10 20:53:20
【问题描述】:

我有一个包含 2,000 行和大约 25 列的半大型 CSV 文件。 我需要知道如何将单元格转换为变量。如果可能的话。 IE 将单元格 A3 转换为 php 变量,然后当用户单击按钮时我可以回显该变量。有点像我正在制作的发电机。

我在互联网上找不到任何真正有用的东西。

【问题讨论】:

    标签: php csv generator


    【解决方案1】:

    PHP 对此有一个函数:fgetcsv。您使用它返回文件资源中的下一行(然后推进指针)。它将返回一个数组,其中每个元素都是 CSV 中的一个字段。

    你会这样使用它:

    $csv = array();
    
    if (FALSE !== $handle = fopen("example.csv", "r"))
    {
    
      while (FALSE !== $row = fgetcsv($handle))
      {
        $csv[] = $row;
      }
    
    }
    

    然后您可以执行以下操作,假设 CSV 中的第一行包含列标题,以将数值数组转换为关联数组:

    $new_csv = array();
    
    foreach ($csv as $row)
    {
    
      $new_row = array();
    
      for ($i = 0, $n = count($csv[0]); $i < $n; ++$i)
      {
        $new_row[$csv[0][$i]] = $row[$i]; 
      }
    
      $new_csv[] = $new_row;
    
    }
    

    然后,如果您想访问第一行的“名称”列(其中“第零”行是列标题),您可以调用$new_csv[1]['name']。或者,如果没有标题行,并且您知道“名称”列是第一列,您可以调用 $csv[0][0]

    【讨论】:

      【解决方案2】:

      查看fgetcsvstr_getcsv 方法(请参阅链接以获取示例)。

      【讨论】:

        猜你喜欢
        • 2016-05-01
        • 2013-11-23
        • 1970-01-01
        • 1970-01-01
        • 2020-07-31
        • 1970-01-01
        • 1970-01-01
        • 2021-06-22
        • 2014-03-24
        相关资源
        最近更新 更多