首先: 我自己解决了这个问题。但我想知道,如果有更好的方法可以做到这一点。
我的任务是重新排序csv以获得更好的概述。 我们从一个工具导出,以显示所有用户和Windows客户端网络中的打印机。
我想将其转换为列表,其中每列包含一台打印机的用户。 像这样的东西:
printer1 printer2 printer3
user1 user2 user1
user3 user2
我的来源如下:http://pastebin.com/DdeHuB79
我通过收集所有打印机然后收集每台打印机的所有用户来解决这个问题。 这是一个非常缓慢的解决方案,因为我正在读取每个打印机的孔csv ...
我目前的解决方案:http://pastebin.com/dAiZS2Ck
我的第一次尝试之一:http://pastebin.com/1JDpBH67
是否有人更好地重新安排这些项目?
编辑1: 我的数组应该是这样的,把它正确地放到csv:
Array
(
[0] => Array
(
[printer1 => user1
[printer2 => user2
[printer3 => user1
)
[1] => Array
(
[printer1 =>
[printer2 => user3
[printer3 => user2
)
)
答案 0 :(得分:0)
您可以同时阅读打印机和用户。
while (($data = fgetcsv($handle, 1000, ';','"')) !== FALSE)
{
$printer = trim(strtolower($data[1]));
$user = trim(strtolower($data[0]));
$printers[$printer][] = $user;
}