snmp_set_valueretrieval

(PHP 4 >= 4.3.3, PHP 5, PHP 7)

snmp_set_valueretrieval SNMP の値が返される方法を設定する

説明

snmp_set_valueretrieval ( int $method = SNMP_VALUE_LIBRARY ) : bool

パラメータ

method
SNMP_VALUE_LIBRARY Net-SNMP ライブラリの返す形式のままで返します。
SNMP_VALUE_PLAIN SNMP の型ヒントを含まないプレーンな値を返します。
SNMP_VALUE_OBJECT プロパティ "value" および "type" をもつオブジェクトを返します。 "type" は SNMP_OCTET_STR や SNMP_COUNTER などの定数のいずれかとなります。 "value" を返す方法は、定数 SNMP_VALUE_LIBRARYSNMP_VALUE_PLAIN のどちらが設定されているかによって決まります。

例1 snmp_set_valueretrieval() の使用法

<?php
 snmp_set_valueretrieval
(SNMP_VALUE_LIBRARY);
 
$ret snmpget('localhost''public''IF-MIB::ifName.1');
 
// $ret = "STRING: lo"

 
snmp_set_valueretrieval(SNMP_VALUE_PLAIN);
 
$ret snmpget('localhost''public''IF-MIB::ifName.1');
 
// $ret = "lo";

 
snmp_set_valueretrieval(SNMP_VALUE_OBJECT);
 
$ret snmpget('localhost''public''IF-MIB::ifName.1');
 
// stdClass Object
 // (
 //   [type] => 4        <-- SNMP_OCTET_STR, see constants
 //   [value] => lo
 // )

 // PHP 5.4 以降の例
 
snmp_set_valueretrieval(SNMP_VALUE_OBJECT SNMP_VALUE_PLAIN);
 
$ret snmpget('localhost''public''IF-MIB::ifName.1');
 
// stdClass Object
 // (
 //   [type] => 4        <-- SNMP_OCTET_STR, see constants
 //   [value] => lo
 // )

 
snmp_set_valueretrieval(SNMP_VALUE_OBJECT SNMP_VALUE_LIBRARY);
 
$ret snmpget('localhost''public''IF-MIB::ifName.1');
 
// stdClass Object
 // (
 //   [type] => 4        <-- SNMP_OCTET_STR, see constants
 //   [value] => STRING: lo
 // )

?>

変更履歴

バージョン 説明
5.4.0

定数 SNMP_VALUE_PLAIN あるいは SNMP_VALUE_LIBRARYSNMP_VALUE_OBJECT と組み合わせて使うと、 GET 関数が返す配列の value 要素の表現を変更できるようになりました。 定数 SNMP_VALUE_{PLAIN,LIBRARY} のどちらも SNMP_VALUE_OBJECT につけなかった場合は SNMP_VALUE_LIBRARY を使います。

5.4.0 より前のバージョンでは SNMP_VALUE_OBJECT が事実上 SNMP_VALUE_OBJECT|SNMP_VALUE_PLAIN という意味でした。

参考