首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将CI上的CSV读取到数组多维

将CI上的CSV读取到数组多维
EN

Stack Overflow用户
提问于 2015-11-29 10:32:19
回答 1查看 32关注 0票数 0

我花了一晚上的时间来读取csv,并将它们放入CI中的数组中。csv如下所示:

代码语言:javascript
复制
 NO,EIR IN,CONT,TYPE,INDEPO,JAM,KODE VSL,VESSEL,VOY,CONSIG,COND IN,CLEAN,TARE,GROSS,KAPASITAS,EX CARGO,LAST AIR),LAST HIDRO,MANU,BUILDER,OWNER
  1,1545053   ,EOLU 1111111,XXXX,21-11-2015,13:00,ABO,ALBERT OLDENDORFF   ,N001   ,ASTABUMI CIPTA      ,DMG,DIRTY,  2400, 20000,  5000,FOOD                ,  -  -    ,  -  -    ,10-11  ,                    ,APL                 
  2,1545052   ,EOLU 1234567,IM04,21-11-2015,10:00,202,WAN HAI 202         ,N 001  ,ANUGERAH AGUNG LUMIN,AVL,DIRTY,  2400, 20000,  1000,MAKANAN             ,  -  -    ,  -  -    ,11-13  ,                    ,APL                 

基于this link,我用这个csv来读它。但是,结果并不符合我的预期,结果是:

代码语言:javascript
复制
Array
(
[0] => Array
    (
        [] =>  NO,EIR IN,CONT,TYPE,INDEPO,JAM,KODE VSL,VESSEL,VOY,CONSIG,COND IN,CLEAN,TARE,GROSS,KAPASITAS,EX CARGO,LAST AIR),LAST HIDRO,MANU,BUILDER,OWNER
    )

[1] => Array
    (
        [] =>     1,1545053   ,EOLU 1111111,XXXX,21-11-2015,13:00,ABO,ALBERT OLDENDORFF   ,N001   ,ASTABUMI CIPTA      ,DMG,DIRTY,  2400, 20000,  5000,FOOD                ,  -  -    ,  -  -    ,10-11  ,                    ,APL                 
    )

[2] => Array
    (
        [] =>     2,1545052   ,EOLU 1234567,IM04,21-11-2015,10:00,202,WAN HAI 202         ,N 001  ,ANUGERAH AGUNG LUMIN,AVL,DIRTY,  2400, 20000,  1000,MAKANAN             ,  -  -    ,  -  -    ,11-13  ,                    ,APL                 
    )

 )

这很奇怪,因为头部跟在后面是数组的一项。如何将它们放入这样的数组中:

代码语言:javascript
复制
Array ( 
[1] => Array ( 
  [ NO] => 1 
  [EIR IN] => 1545053 
  [CONT] => EOLU 1111111 
  [TYPE] => XXXX 
  [INDEPO] => 21-11-2015 
  [JAM] => 13:00 
  [KODE VSL] => ABO 
  [VESSEL] => ALBERT OLDENDORFF 
  [VOY] => N001 
  [CONSIG] => ASTABUMI CIPTA 
  [COND IN] => DMG 
  [CLEAN] => DIRTY 
  [TARE] => 2400 
  [GROSS] => 20000 
  [KAPASITAS] => 5000 
  [EX CARGO] => FOOD 
  [LAST AIR)] => - - 
  [LAST HIDRO] => - - 
  [MANU] => 10-11 
  [BUILDER] => 
  [OWNER] => APL 
) 
[2] => Array ( 
  [ NO] => 2 
  [EIR IN] => 1545052 
  [CONT] => EOLU 1234567 
  [TYPE] => IM04 
  [INDEPO] => 21-11-2015 
  [JAM] => 10:00 
  [KODE VSL] => 202 
  [VESSEL] => WAN HAI 202 
  [VOY] => N 001 
  [CONSIG] => ANUGERAH AGUNG LUMIN 
  [COND IN] => AVL 
  [CLEAN] => DIRTY 
  [TARE] => 2400 
  [GROSS] => 20000 
  [KAPASITAS] => 1000 
  [EX CARGO] => MAKANAN 
  [LAST AIR)] => - - 
  [LAST HIDRO] => - - 
  [MANU] => 11-13 
  [BUILDER] => 
  [OWNER] => APL 
 ) 
) 
EN

回答 1

Stack Overflow用户

发布于 2015-11-29 18:34:52

这是与你的csv一起工作的代码,你可以把它放在一个帮助器中。

代码语言:javascript
复制
<?php

    $file = file("./csv.csv");
    $column_names = array_map("trim", explode(",", $file[0]));
    $data = array();

    for($i = 1; $i < count($file); $i++)
    {
        $line = $file[$i];
        $column_values = array_map("trim", explode(",", $line));
        $data[ $i ] = array_combine($column_names, $column_values);
    }

    var_dump($data);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33978774

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档