2014-10-20 38 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