array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ja', ), 'this' => array ( 0 => 'function.ldap-get-values.php', 1 => 'ldap_get_values', ), 'up' => array ( 0 => 'ref.ldap.php', 1 => 'LDAP 関数', ), 'prev' => array ( 0 => 'function.ldap-get-values-len.php', 1 => 'ldap_get_values_len', ), 'next' => array ( 0 => 'function.ldap-list.php', 1 => 'ldap_list', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ja', 'path' => 'reference/ldap/functions/ldap-get-values.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4, PHP 5, PHP 7, PHP 8)
ldap_get_values — 結果エントリから全ての値を得る
結果内のエントリ属性の、すべての値を読み込みます。
この関数をコールするには、entry
が必要です。このため、事前に LDAP の検索用関数のコールと個々の
エントリ取得用関数のコールを行っておく必要があります。
アプリケーションでは、("surname" または "mail" のような)特定の属性 を探すためにその属性をコードに埋め込んで置くか、さもなくば、指定した エントリに関して存在する属性を調べるために ldap_get_attributes() をコールする必要があります。
ldap
ldap_connect() が返す LDAP\Connection クラスのインスタンス。
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
クラスのインスタンスを期待するようになりました。
これより前のバージョンでは、有効な ldap link リソース を期待していました。
|
8.1.0 |
引数 entry は、
LDAP\ResultEntry
クラスのインスタンスを期待するようになりました。
これより前のバージョンでは、有効な ldap result entry リソース を期待していました。
|
例1 あるディレクトリエントリの全ての "mail" 属性の一覧を表示する
<?php
// $ds はディレクトリサーバーの有効な LDAP\Connection のインスタンス
// $sr は事前の LDAP 検索コールのどれかから返された有効な検索結果
// $entry はディレクトリエントリを返すコールのどれかから返された有効な
// エントリ ID
$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 />";
}
?>