結果エントリから全ての値を得る

# ldap_get_values

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_get_values — 結果エントリから全ての値を得る

### 説明

function ldap_get_values(LDAP\Connection `$ldap`, LDAP\ResultEntry `$entry`, string `$attribute`): array|false

結果内のエントリ属性の、すべての値を読み込みます。

この関数をコールするには、`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` resource を期待していました。
8.1.0 | 引数 `entry` は、 LDAP\ResultEntry クラスのインスタンスを期待するようになりました。 これより前のバージョンでは、有効な `ldap result entry` resource を期待していました。

### 例

例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 />";
    }
    ?>

### 参考

- ldap_get_values_len() - 結果エントリから全てのバイナリ値を得る

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open