我在输出空格和确保所有 CSV 数据输出到正确的位置时遇到了一些问题,并且想知道如何做到这一点。
我正在尝试将 LDAP 服务器搜索的输出格式化为 CSV 格式,但问题是某些条目的属性乱序,或者某些条目完全缺少属性。
这是一些数据的示例
Array
(
[0] => Array
(
[dc=example,dc=com] => Array
(
[o] => example.com
[objectclass] => Array
(
[0] => simpleSecurityObject
[1] => dcObject
[2] => organization
)
[dc] => example
)
)
[1] => Array
(
[uid=newton,dc=example,dc=com] => Array
(
[sn] => Newton
[objectclass] => Array
(
[0] => simpleSecurityObject
[1] => dcObject
[2] => organization
)
[uid] => Newton
[mail] => newton@ldap.forumsys.com
[cn] => Isaac Newton
)
)
)
请注意,在第一个 ([0]) 数组中,我有一个名为“o”和“dc”的条目,而在第二个数组中,我没有它们。
所以本质上,我想输出这个:
distinguishedname,o,objectclass,dc,sn,uid,mail,cn
dc=example,dc=com,example.com,{simpleSecurityObject,dcObject,organization},example, , , ,
uid=newton,dc=example,dc=com, ,{simpleSecurityObject,dcObject,organization}, , ,Newton,newton@ldap.forumsys.com,Isaac Newton
我不太确定如何做两件事:
确保所有缺失的属性都替换为“”,以便它显示为空
确保正确的属性位于正确的位置。例如,“o”可能是一个条目中的第三个属性,但它可能是另一个条目中的第六个属性。如何确保我的 CSV 数据按以下顺序排列:
distinguishedname,o,objectclass,dc,sn,uid,mail,cn
这里有一些代码以 CSV 格式输出所有数据,但我不确定如何创建空字段并使它们对齐..输出只是所有数据的打印。
小怪兽爱吃肉