2014-10-20 61 views
0

當我使用ldap_get_entries()功能,我得到一個多維數組有很多無用的鍵和值,如LDAP項結果

array(
    'count' => 1234, 
    0 => array(
     0 => 'first-name', 
     'first-name' => array(
      'count' => 1, 
      0 => 'Alex' 
     ), 
     ... 
    ), 
    ... 
); 

我想獲得一個簡單的關聯數組,如:

array(
    0 => array(
     'first-name' => 'Alex' 
    ) 
) 

這將是一個簡單的操作和使用。我曾經創建一個函數,用這種格式創建另一個數組,但它非常複雜而且不完美。

有沒有一種方法可以用LDAP自己的功能來實現這一點?

在此先感謝。

P.S .:我正在使用PHP

+0

添加一些更多的信息的問題。你正在使用什麼語言。 – jwilleke 2014-10-21 14:02:04

+0

PHP,對不起,我忘了它。 – Alexxali 2014-10-21 14:23:53

回答

0

使用默認的LDAP擴展,您將無法根據需要檢索數組。

一件事是,ldap_get_Entries()的返回數組使用整型鍵返回每個條目中的屬性,然後每個屬性將在數組內,屬性名稱爲小寫,屬性值爲數組。當簡單地檢索用戶的名字時,這可能沒有意義,但考慮具有多個名字的人。它們可能有兩個屬性first-name,每個屬性都包含一個名稱。一個更好的例子可能是一個電話號碼。給定人可能有多個電話號碼,因此結果可能是一個數組。爲了讓事情變得更容易,你總是會得到一個數組。

所以,當你想要的東西「更易於使用」,你將不得不寫這樣的事情要點:https://gist.github.com/heiglandreas/536f75cb06209093375b

+0

謝謝你的回答。這正是我所做的,但以一種適合我的方式。我只是想知道是否有辦法用LDAP來做到這一點。我得到了答案。 – Alexxali 2014-10-23 10:26:31