(PHP 5 >= 5.4.0, PHP 7, PHP 8)
SNMP::walk — Recupera el sub-objeto de un objeto SNMP
$objectId,$suffixAsKey = false,$maxRepetitions = -1,$nonRepeaters = -1
   SNMP::walk() se utiliza para leer el sub-objeto SNMP cuya profundidad está
   especificada por el argumento object_id.
  
objectIdRaíz del sub-objeto a leer
suffixAsKey
      Por omisión, la notación completa del OID se utiliza para las
      claves en el array resultante. Si se establece en true, el prefijo
      del sub-objeto será eliminado de las claves, dejando solo el
      sufijo de object_id.
     
nonRepeatersEspecifica el número de variables proporcionadas que no deben ser repetidas. Por omisión, este valor será utilizado desde el objeto SNMP.
maxRepetitionsEspecifica el número máximo de iteraciones sobre las variables repetidas. Por omisión, este valor será utilizado desde el objeto SNMP.
   Devuelve un array asociativo de identificadores de objetos SNMP
   así como sus valores en caso de éxito o false si ocurre un error.
   Cuando ocurre un error SNMP, SNMP::get_errno() y
   SNMP::get_error() pueden ser utilizadas para recuperar
   respectivamente el número del error (específico de la extensión SNMP, ver las constantes de la
   clase) así como el mensaje de error.
  
    Este método no lanza excepciones por omisión.
    Para activar el lanzamiento de excepciones SNMPException cuando
    ocurren errores de la biblioteca,
    el parámetro de la clase SNMP exceptions_enabled
    debe ser definido al valor correspondiente. Ver las 
    explicaciones sobre SNMP::$exceptions_enabled
    para más detalles.
Ejemplo #1 Ejemplo con SNMP::walk()
<?php
  $session = new SNMP(SNMP_VERSION_1, "127.0.0.1", "public");
  $fulltree = $session->walk(".");
  print_r($fulltree);
  $session->close();
?>Resultado del ejemplo anterior es similar a:
Array
(
    [SNMPv2-MIB::sysDescr.0] => STRING: Test server
    [SNMPv2-MIB::sysObjectID.0] => OID: NET-SNMP-MIB::netSnmpAgentOIDs.8
    [DISMAN-EVENT-MIB::sysUpTimeInstance] => Timeticks: (1150681750) 133 days, 4:20:17.50
    [SNMPv2-MIB::sysContact.0] => STRING: Nobody
    [SNMPv2-MIB::sysName.0] => STRING: server.localdomain
    ...
)
Ejemplo #2 Ejemplo con el argumento suffixAsKey
    El argumento suffixAsKey puede ser utilizado al fusionar
    varios sub-objetos SNMP en uno solo. Este ejemplo enlaza
    los nombres de interfaces y sus tipos.
   
<?php
  $session = new SNMP(SNMP_VERSION_1, "127.0.0.1", "public");
  $session->valueretrieval = SNMP_VALUE_PLAIN;
  $ifDescr = $session->walk(".1.3.6.1.2.1.2.2.1.2", TRUE);
  $session->valueretrieval = SNMP_VALUE_LIBRARY;
  $ifType = $session->walk(".1.3.6.1.2.1.2.2.1.3", TRUE);
  print_r($ifDescr);
  print_r($ifType);
  $result = array();
  foreach($ifDescr as $i => $n) {
    $result[$n] = $ifType[$i];
  }
  print_r($result);
?>Resultado del ejemplo anterior es similar a:
Array
(
    [1] => igb0
    [2] => igb1
    [3] => ipfw0
    [4] => lo0
    [5] => lagg0
)
Array
(
    [1] => INTEGER: ieee8023adLag(161)
    [2] => INTEGER: ieee8023adLag(161)
    [3] => INTEGER: ethernetCsmacd(6)
    [4] => INTEGER: softwareLoopback(24)
    [5] => INTEGER: ethernetCsmacd(6)
)
Array
(
    [igb0] => INTEGER: ieee8023adLag(161)
    [igb1] => INTEGER: ieee8023adLag(161)
    [ipfw0] => INTEGER: ethernetCsmacd(6)
    [lo0] => INTEGER: softwareLoopback(24)
    [lagg0] => INTEGER: ethernetCsmacd(6)
)
