ldap_get_values

Get all values from a result entry

Description

arrayfalse ldap_get_values(LDAP\Connection $ldap, LDAP\ResultEntry $entry, string $attribute)

Reads all the values of the attribute in the entry in the result.

This call needs a entry, so needs to be preceded by one of the ldap search calls and one of the calls to get an individual entry.

You application will either be hard coded to look for certain attributes (such as "surname" or "mail") or you will have to use the ldap_get_attributes call to work out what attributes exist for a given entry.

Parameters

ldap

An LDAP\Connection instance, returned by ldap_connect.

entry

An LDAP\ResultEntry instance.

attribute

Return Values

Returns an array of values for the attribute on success and false on error. The number of values can be found by indexing "count" in the resultant array. Individual values are accessed by integer index in the array. The first index is 0.

LDAP allows more than one entry for an attribute, so it can, for example, store a number of email addresses for one person's directory entry all labeled with the attribute "mail"

    return_value["count"] = number of values for attribute
    return_value[0] = first value of attribute
    return_value[i] = ith value of attribute
    

Changelog

Version Description
8.1.0 The ldap parameter expects an LDAP\Connection instance now; previously, a valid ldap link resource was expected.
8.1.0 The entry parameter expects an LDAP\ResultEntry instance now; previously, a valid ldap result entry resource was expected.

Examples

Example #1 List all values of the "mail" attribute for a directory entry

<?php
// $ds is a valid LDAP\Connection instance for a directory server

// $sr is a valid search result from a prior call to
//     one of the ldap directory search calls

// $entry is a valid entry identifier from a prior call to
//        one of the calls that returns a directory entry

$values = ldap_get_values($ds, $entry, "mail");

echo $values["count"] . " email addresses for this entry.<br />";

for ($i=0; $i < $values["count"]; $i++) {
    echo $values[$i] . "<br />";
}
?>

See Also

  • ldap_get_values_len