PHP: ldap_get_values - Manual

downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

ldap_list ldap_get_values_len

Last updated: Sat, 27 Jan 2007

view this page in

# ldap_get_values

(PHP 3, PHP 4, PHP 5)

ldap_get_values -- Get all values from a result entry

## Description

array ldap_get_values ( resource link_identifier, resource result_entry_identifier, string attribute )

Returns an array of values for the attribute on success and `FALSE` on error.

ldap_get_values() function is used to read all the values of the attribute in the entry in the result. entry is specified by the `result_entry_identifier`. 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.

This call needs a `result_entry_identifier`, 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.

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

Пример 1. List all values of the "mail" attribute for a directory entry

`<?php
// $ds is a valid link identifier 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 />";
}
?>`

add a note User Contributed Notes
ldap_get_values
viper_sb at IGETTOMUCHSPAMhotmail dot com
25-Mar-2003 06:24
`Well this took me a while to find the problem, so I'm posting in case someone else runs in to this.
$sr = ldap_search($ds, "cn=me", "(objectclass=*)");
$entry = ldap_first_entry($ds, $sr);
do {
// do other stuff
$sr = "something else now";
$values = ldap_get_values($ds, $entry, "attirib1");
// do other stuff
} while ($entry = ldap_next_entry($ds, $entry));
If you change the search resource $sr to something else even though it's not used again it will kill the page it'll be a blank page and if you view the code you'll get different things depending on something no idea what.
This kepted happening I had forgotten I had used $sr so I was using it again and it would just not show the page whenever I used ldap_get_values, if this is a feature it would be nice to know. I haven't seen it happen with other functions.`
software at inebria dot com
21-Jun-2001 10:34
`It wasn't immediately obvious to me that the ldap_get_values function does not work with binary data - only strings. If you fetch binary data with ldap_get_values you don't get a warning - just some trash. For binary data you have to use ldap_get_values_len.`
add a note
ldap_list ldap_get_values_len

Last updated: Sat, 27 Jan 2007
show source | credits | stats | sitemap | contact | advertising | mirror sites
Copyright © 2001-2007 The PHP Group
All rights reserved.
This mirror generously provided by: Yahoo! Inc.
Last updated: Sat Mar 10 09:32:46 2007 PST