0

我正在尝试学习 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 脚本,该脚本输出主数组,其中包含“用户”子数组。

像这样的东西

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 ) 
                ) 
     ) 

这将是最终的想法!

4

0 回答 0