说明

Having located a specific entry in the directory, you can find out what
information is held for that entry by using this call. You would use this
call for an application which "browses" directory entries and/or where you
do not know the structure of the directory entries. In many applications
you will be searching for a specific attribute such as an email address or
a surname, and won't care what other data is held.

return_value["count"] = number of attributes in the entry
return_value[0] = first attribute
return_value[n] = nth attribute
return_value["attribute"]["count"] = number of values for attribute
return_value["attribute"][0] = first value of the attribute
return_value["attribute"][i] = (i+1)th value of the attribute

It's good practice to use array_change_key_case() on the result of ldap_get_attributes() so your program can ignore case in attribute names just like ldap itself does. (You wouldn't want ldap_get_attributes to _always_ flatten the case because you need a way to get the attribute names in a pretty format for display to the user.)

Note that ldap_get_attributes fetches attributes AND values from the LDAP server. Depending on the data stored in the entry, the following code might work a dozen times faster (or even better, but faster in general) than the code in Example 1:

<?php// $ds is the link identifier for the directory

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