我想將這個數組輸出為 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] => [email protected] [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,[email protected],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,[email protected],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將字符串放在值之間。
- 1 回答
- 0 關注
- 125 瀏覽
添加回答
舉報
0/150
提交
取消