包含CSV PHP的多个数组的数组

时间:2013-04-09 11:44:32

标签: php arrays loops csv while-loop

我正在尝试学习PHP,因此开发一个PHP脚本,它将读取一个CSV文件并将其放在一个包含多个数组的数组中。

CSV由此结构组成

USER,PRINTER,PAGES,COPIES,GRAYSCALE,DUPLEX

001,001,1,2,G,D

001,002,1,3,C,ND

002,003,2,2,C,D

到目前为止,我已经设法创建了一个PHP脚本,用于输出带有“users”子数组的主数组。

像这样的东西

Array
(
     ['user1']=>Array
                (
                 ['printer1']=>Array
                               (
                                [PAGES]=>'1'
                               )
                )
)

这适用于多个用户,但我似乎无法将Users数组中的打印机倍增。 这是我的代码:

<?php
$arrprint = array();
$arrprinter = array();
if (($handle = fopen("log-2013-04-03.csv", "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
            if (! isset($arrprint ["".$data[1].""]) ){
                $arrprint ["'".$data[1]."'"] = $data[1];
                if(! isset($arrprinter["".$data[4].""]) )
                    $arrprinter["'".$data[4]."'"] = ['Pages' => $data[2]];
        }
        /*$arrprint ["'".$data[1]."'"]  = [ "'".$data[4]."'" => ['NºPag' => $data[2]]];*/
            $arrprint["'".$data[1]."'"] = $arrprinter;      
    }
        print_r ($arrprint);
        fclose($handle);
}

我做错了什么?我的代码中是否缺少任何循环?

编辑: 按照要求 所需的输出是:

array( 
     ['user1']=>array( 
                ['printer1']=>Array( 'bw_cp'=10 'colour'=20) 
                ['printer2']=>Array( 'bw_cp'=5 'colour_cp'=1 ) 
                ) 
     ) 

这将是最终的想法!

0 个答案:

没有答案