为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 PHP 中组织具有无组织数组元素的 CSV 数据?

如何在 PHP 中组织具有无组织数组元素的 CSV 数据?

PHP
跃然一笑 2023-06-30 16:00:57
我想将这个数组输出为 CSV 文件。Array(    [dc=example,dc=com] => Array        (            [o] => example.com            [objectclass] => Array                (                    [0] => simpleSecurityObject                    [1] => dcObject                    [2] => organization                )            [dc] => example        )    [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        ))目前,当我打印所有数据时,这就是我得到的。dn,o,objectclass,dc,sn, uid, mail, cndc=example,dc=com,example.com,simpleSecurityObject:dcObject:organization,exampleuid=newton,dc=example,dc=com,Newton,simpleSecurityObject:dcObject:organization,Newton,newton@ldap.forumsys.com,Isaac Newton这只是以 CSV 格式打印的所有数据,但按照它们最初在数组中排列的顺序排列。我想确保所有元素实际上都与它们应该的值匹配。这是我想要的输出:dn,o,objectclass,dc,sn, uid, mail, cndc=example,dc=com,example.com,{simpleSecurityObject,dcObject,organization},example, , , , uid=newton,dc=example,dc=com, ,{simpleSecurityObject,dcObject,organization},  ,Newton,Newton,newton@ldap.forumsys.com,Isaac Newton请注意,在第一个元素中,我们没有 sn、uid、mail 和 cn 属性,因此这些属性留空。第二个元素缺少 o 和 dc,因此它们是空白的。目前数据也出现故障。我如何确保数据位于正确的位置确保任何缺失的字段都保留为“”,而不是仅仅跳到下一个元素?
查看完整描述

1 回答

?
MYYA

TA贡献1868条经验 获得超4个赞

改变这一行


foreach ( $val as $key => $value ) {

有了这个


foreach ($attributes_list as $key){

    $value=$val[$key];

因此,即使字段为空,您也始终会打印所有字段,并且所有字段都保留在原处。如果您不想收到有关丢失密钥的警告,只需检查是否存在并在不存在时打印“”。


然后


$value_array = implode(":", $value);

$value_array = rtrim($value_array, ":");

$value_array = $value_array.",";

变成


$value_array = implode(",", $value);

$value_array = "{".$value_array."},";

应该rtrim没有必要。Implode将字符串放在值之间。


查看完整回答
反对 回复 2023-06-30
  • 1 回答
  • 0 关注
  • 73 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信