SNMP::__construct
SNMP::getErrno
SNMP
PHP Manual

# SNMP::get

(PHP 5 >= 5.4.0)

SNMP::get — SNMP オブジェクトを取得する

### 説明

public mixed SNMP::get ( mixed `$object_id` [, bool `$preserve_keys` = false ] )

`object_id` で指定した SNMP オブジェクトを GET クエリで取得します。

### パラメータ

`object_id` が文字列の場合は SNMP::get() は SNMP オブジェクトを文字列で返します。 `object_id` が配列の場合は、要求されたすべての SNMP オブジェクトを SNMP オブジェクトの id とその値の連想配列で返します。

`object_id`

  SNMP オブジェクト (OID)。

`preserve_keys`

  `object_id` が配列のときに `preserve_keys` を `TRUE` にすると、結果のキーは完全に `object_id` となります。 それ以外の場合は SNMP::oid_output_format プロパティを使ってキーの形式を判断します。

### 返り値

`object_id` で指定した SNMP オブジェクトの値を `object_id` にあわせて文字列か配列で返します。 エラー時には `FALSE` を返します。

### エラー / 例外

このメソッドは、デフォルトでは一切例外をスローしません。ライブラリでエラーが発生したときに SNMPException をスローさせるには SNMP クラスパラメータ `exceptions_enabled` に値を設定しなければなりません。 詳細は `SNMP::$exceptions_enabled` の説明を参照ください。

### 例

例1 単一の SNMP オブジェクト

ひとつの SNMP オブジェクトに対するリクエストは二通りの方法で行えます。 文字列でリクエストすると結果は文字列で返され、要素がひとつだけの配列でリクエストすると結果は連想配列で返されます。

`<?php
$session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
$sysdescr = $session->get("sysDescr.0");
echo "$sysdescr\n";
$sysdescr = $session->get(array("sysDescr.0"));
print_r($sysdescr);
?>`

上の例の出力は、 たとえば以下のようになります。

    STRING: Test server
    Array
    (
        [SNMPv2-MIB::sysDescr.0] => STRING: Test server
    )

例2 複数の SNMP オブジェクト

`$session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
$results = $session->get(array("sysDescr.0", "sysName.0"));
print_r($results);
$session->close();`

上の例の出力は、 たとえば以下のようになります。

    Array
    (
        [SNMPv2-MIB::sysDescr.0] => STRING: Test server
        [SNMPv2-MIB::sysName.0] => STRING: myhost.nodomain
    )

### 参考

- SNMP::getErrno() - 直近のエラーコードを取得する
- SNMP::getError() - 直近のエラーメッセージを取得する

SNMP::__construct
SNMP::getErrno
SNMP
PHP Manual