我正在尝试学习 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 )
)
)
这将是最终的想法!