如何CSV转换为递归数组在PHP? [英] How to convert csv to recursive array in php?

查看:132
本文介绍了如何CSV转换为递归数组在PHP?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我要CSV转换为多维数组。我附上文件,并希望阵列等。

在这里输入的形象描述

 阵列(
     [卡纳拉银行] =>
                   阵列(
                          [银行服务] =>
                                      阵列(
                                            [客户识别] =>
                                                      阵列(
                                                         [国内利率1] =>
                                                              阵列(
                                                                [0] => 国产率2'
                                                                [1] => 国产率1'
                                                              )                                                      )                                      )                          )
        )


解决方案

我这类型的数组当我用下面的方法

  $ csvData =的file_get_contents('Book2.csv');
    $行=爆炸(\\ n,$ csvData);
    $头= str_getcsv(array_shift($线));
    $阵列=阵列();
    的foreach($线为$线){
            $行= array_pad(str_getcsv($线),计算($头),'');
            $ array13 [] = array_combine($头,$行);
    }    回声< pre>中;
    的print_r($ array13);
排列

    [0] =>排列
        (
            [品牌] =>卡纳拉银行
            [产品] =>银行服务
            [LEVEL0] =>客户识别号
            [Levl1] =>国产率1
            [级别2] =>国产率2
        )    [1] =>排列
        (
            [品牌] =>
            [产品] =>
            [LEVEL0] =>
            [Levl1] =>
            [级别2] =>国产率3
        )    [2] =>排列
        (
            [品牌] =>
            [产品] =>
            [LEVEL0] =>
            [Levl1] =>
            [级别2] =>
        ))

但我想数组像下面

 阵列(
     [卡纳拉银行] =>
                   阵列(
                          [银行服务] =>
                                      阵列(
                                            [客户识别] =>
                                                      阵列(
                                                         [国内利率1] =>
                                                              阵列(
                                                                [0] => 国产率3'
                                                                [1] => 国产率2'
                                                              )                                                      )                                      )                          )
        )

I want to convert csv to multidimensional array. I have attached file and want to array like.

array(
     [CANARA BANK] =>
                   array(
                          [Banking services] =>
                                      array(
                                            [Customer Identification] =>
                                                      array(
                                                         [Domestic rates 1] =>
                                                              array(
                                                                [0] => 'Domestic rates 2'
                                                                [1] => 'Domestic rates 1'


                                                              )

                                                      )

                                      )

                          )
        )

解决方案

I got this type of array when i used below method

    $csvData = file_get_contents('Book2.csv');
    $lines = explode("\n", $csvData);
    $head = str_getcsv(array_shift($lines));
    $array = array();
    foreach ($lines as $line) {
            $row = array_pad(str_getcsv($line), count($head), '');
            $array13[] = array_combine($head, $row);
    }

    echo "<pre>";
    print_r($array13);


Array
(
    [0] => Array
        (
            [Brand] => CANARA BANK
            [Product] => Banking services
            [Level0] => Customer Identification No
            [Levl1] => Domestic rates 1
            [Level2] => Domestic rates 2
        )

    [1] => Array
        (
            [Brand] => 
            [Product] => 
            [Level0] => 
            [Levl1] => 
            [Level2] => Domestic rates 3
        )

    [2] => Array
        (
            [Brand] => 
            [Product] => 
            [Level0] => 
            [Levl1] => 
            [Level2] => 
        )

)

But i want array like below

array(
     [CANARA BANK] =>
                   array(
                          [Banking services] =>
                                      array(
                                            [Customer Identification] =>
                                                      array(
                                                         [Domestic rates 1] =>
                                                              array(
                                                                [0] => 'Domestic rates 3'
                                                                [1] => 'Domestic rates 2'


                                                              )

                                                      )

                                      )

                          )
        )

这篇关于如何CSV转换为递归数组在PHP?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆