SNMP::set

Set the value of an SNMP object

&reftitle.description; public `bool` `SNMP::set` ``array``string```objectId` ``array``string```type` ``array``string```value`

Requests remote SNMP agent setting the value of one or more SNMP objects specified by the `objectId`.

&reftitle.parameters;

If `objectId` is `string`, both `type` and `value` must be `string` too. If `objectId` is `array` `value` must be equal-sized array containing corresponding values, `type` may be either `string` (it's value will be used for all `objectId`-`value` pairs) or equal-sized array with per-OID value. When any other parameters' combinations are used, a number of E_WARNING messages may be shown with detailed description.

`objectId`

- The SNMP object id

  When count of OIDs in object_id array is greater than max_oids object property set method will have to use multiple queries to perform requested value updates. In this case type and value checks are made per-chunk so second or subsequent requests may fail due to wrong type or value for OID requested. To mark this a warning is raised when count of OIDs in object_id array is greater than max_oids.

`type`

- &snmp.set.type.values; &snmp.set.type.values.asn.mapping; &snmp.set.type.values.equal.note; &snmp.set.type.values.bitset.note;

`value`

- The new value.

&reftitle.returnvalues;

&return.success;

&snmp.methods.exceptions_enable.refsect;
&reftitle.examples;

### Set single SNMP object id

    <?php
      $session = new SNMP(SNMP::VERSION_2C, "127.0.0.1", "private");
      $session->set('SNMPv2-MIB::sysContact.0', 's', "Nobody");
    ?>

### Set multiple values using single `SNMP::set` call

    <?php
      $session = new SNMP(SNMP::VERSION_2C, "127.0.0.1", "private");
      $session->set(array('SNMPv2-MIB::sysContact.0', 'SNMPv2-MIB::sysLocation.0'), array('s', 's'), array("Nobody", "Nowhere"));
    // or
      $session->set(array('SNMPv2-MIB::sysContact.0', 'SNMPv2-MIB::sysLocation.0'), 's', array("Nobody", "Nowhere"));
    ?>

### Using `SNMP::set` for setting BITS SNMP object id

    <?php
      $session = new SNMP(SNMP::VERSION_2C, "127.0.0.1", "private");
      $session->set('FOO-MIB::bar.42', 'b', '0 1 2 3 4');
    // or
      $session->set('FOO-MIB::bar.42', 'x', 'F0');
    ?>

&reftitle.seealso;

- `SNMP::get`