Ldap Entries Результаты

Когда я использую ldap_get_entries() функция, я получаю многомерный массив с большим количеством бесполезных ключей и значений, таких как

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

Я хотел бы получить простой ассоциативный массив, такой как:

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

Было бы намного проще манипулировать и использовать. Я использовал для создания функции, которая создает другой массив с таким форматом, но это довольно сложно и не идеально.

Есть ли способ достичь этого с помощью собственных функций LDAP?

Заранее спасибо.

П.С .: Я пользуюсь PHP.

0

Решение

С расширением LDAP по умолчанию вы не сможете получить массив так, как вам хотелось бы.

Одна вещь состоит в том, что возвращенный массив ldap_get_Entries() возвращает атрибуты внутри каждой записи, используя целочисленный ключ, и каждый из атрибутов будет затем внутри массива с именем атрибута в нижнем регистре и значениями атрибута в виде массива. Это может быть бессмысленно при простом извлечении имени пользователя, но следует учитывать людей с более чем одним именем. Они могут иметь два атрибута first-name каждый из которых содержит одно из имен. Лучшим примером может быть номер телефона. Для данного человека может быть несколько телефонных номеров, поэтому результатом может быть массив. Чтобы сделать вещи проще, вы будете всегда получить массив обратно.

Поэтому, когда вы хотите что-то «с чем проще работать», вам нужно написать что-то вроде этого: https://gist.github.com/heiglandreas/536f75cb06209093375b

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]