douju2474 2014-11-12 13:18
浏览 61
已采纳

如何将多行CSV解析为多维关联数组?

Content of $csv_content is:

1415797658,456ABC,789,123,"bla"
1415797656,654XYZ,897,567,"foo"
1415797654,639HJW,465,146,"bar"

str_getcsv(file_get_contents($csv_content)) results in:

array
  0 => string '1415797658' (length=10)
  1 => string '456ABC' (length=6)
  2 => string '789' (length=3)
  3 => string '123' (length=3)
  4 => string 'bla' (length=3)
  5 => string '1415797656' (length=10)
  6 => string '654XYZ' (length=6)
  7 => string '897' (length=3)
  8 => string '567' (length=3)
  9 => string 'foo' (length=3)
  10 => string '1415797654' (length=10)
  11 => string '639HJW' (length=6)
  12 => string '465' (length=3)
  13 => string '146' (length=3)
  14 => string 'bar' (length=3)

Desired result:

array
  0 =>
    array
      'timestamp' => string '1415797658' (length=10)
      'id' => string '456ABC' (length=6)
      'id2' => string '789' (length=3)
      'id3' => string '123' (length=3)
      'text' => string 'bla' (length=3)
  1 =>
    array
      'timestamp' => string '1415797656' (length=10)
      'id' => string '654XYZ' (length=6)
      'id2' => string '897' (length=3)
      'id3' => string '567' (length=3)
      'text' => string 'foo' (length=3)
  2 =>
    array
      'timestamp' => string '1415797654' (length=10)
      'id' => string '639HJW' (length=6)
      'id2' => string '465' (length=3)
      'id2' => string '146' (length=3)
      'text' => string 'bar' (length=3)

What would be the neatest way to do this?

  • 写回答

1条回答 默认 最新

  • doupo6967 2014-11-12 13:26
    关注
    $array=array();
    $handle=fopen($csv_content,'r');
    while ($row=fgetcsv($handle)){
       $array[]=array(
                  'timestamp' => $row[0],
                  'id' => $row[1],
                  'id2' => $row[2],
                  'id3' => $row[3],
                  'text' => $row[4]
               );
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示