(PHP 4, PHP 5, PHP 7, PHP 8)
ldap_get_values — Получает все значения из записи результата
Читает все значения атрибута в записи результата.
Эта функция требует entry
, а следовательно, перед ней должны быть запущена одна из функций ldap поиска и один из результатов их вызова для получения отдельной записи.
В создаваемом приложении необходимо будет использовать сложные конструкции для поиска определённых атрибутов (таких как "фамилия" или "почта") или необходимо будет использовать функцию ldap_get_attributes(), чтобы разобрать, какие атрибуты существуют для данной записи.
ldap
Экземпляр класса LDAP\Connection, который возвращает функция ldap_connect().
entry
Экземпляр класса LDAP\ResultEntry.
attribute
Возвращает массив значений для атрибута в случае успешного выполнения или false
в случае возникновения ошибки. Число значений может быть найдено по индексу "count" в результирующем массиве. Отдельные значения могут быть доступны по целочисленным индексам в массиве. Первый индекс 0.
LDAP позволяет хранить больше чем одну запись для атрибута, таким образом, можно, например, сохранить много адресов электронной почты для записи каталога одного человека, все маркированные атрибутом "mail"
return_value["count"] = число значений атрибута return_value[0] = первое значение атрибута return_value[i] = i-ое значение атрибута
Версия | Описание |
---|---|
8.1.0 | Параметр ldap теперь ожидает экземпляр класса LDAP\Connection; раньше параметр ждал ресурс (resource) ldap link . |
8.1.0 | Параметр entry теперь ожидает экземпляр класса LDAP\ResultEntry; раньше параметр ждал ресурс (resource) ldap result entry . |
Пример #1 Список всех значений атрибута "mail" для записи каталога
<?php
// $ds допустимый экземпляр LDAP\Connection
// $sr верный результат поиска в директории ldap
// $entry верный идентификатор записи из вызова функции
// вернувшей запись директории
$values = ldap_get_values($ds, $entry, "mail");
echo $values["count"] . " адреса email для этой записи.<br />";
for ($i=0; $i < $values["count"]; $i++) {
echo $values[$i] . "<br />";
}
?>