Forums:
Buenas tardes. Saludos, el asunto es que surge un problema ya que tengo el siguiente arreglo que se forma tras hacer un explode.
$cantidades=explode("IF-MIB::ifDescr.",$var);
Al mostrarlo con un echo:
echo $cantidades[2];
me sale lo siguiente:
2 = STRING: eth0
Pero yo necesito extraer de ahi, solo "2" y "eth0", es decir eliminar el " = STRING: " y quedarme con lo demas, si es posible guardandolo en otro arreglo. No se si hay posibilidades de hacer eso.
Este es el código completo que tengo:
$com="snmpwalk -c public -v 1 192.168.100.130 ifdesc ".$ip;
$var=shell_exec($com);
$cantidades=explode("IF-MIB::ifDescr.",$var);
echo $cantidades[1];
en $var lo que hago es guardar lo que resulta de la ejecución que se hace en $com.
ese comando que le paso en $com si lo ejecuto en la terminal de debian me saca algo como:
IF-MIB::ifDescr.1 = STRING: lo
IF-MIB::ifDescr.2 = STRING: eth0
ya con el explode, logre reducir bastante esa cadena, hasta quedarme con "1 = STRING: lo", pero yo solo necesito el "1" y el "lo".. y si es posible guardar eso en un arreglo.
Todo ésto lo hago porque necesito sacar la descripción de una interfaz con snmp (monitoreo de redes) y mostrarla en un archivo php.... y en el caso que planteo el "1" sería la interfaz y "lo", la descripción. Si logro sacar solo eso, entonces lo desearía guardar en un arreglo de manera que me quedara algo como:
$arreglo[0] // sería el 1
$arreglo[1] // sería el lo
De antemano muchas gracias...espero sus respuestas.
Antes que nada...
Antes que nada siempre es bueno revisar la documentación de PHP, por ejemplo podrías utilizar el mismo explode sobre la cadena resultante asi:
$arreglo = explode(" = STRING: ",$cantidades[1]);
Que según tu ejemplo, si $cantidades[1] contiene "1 = STRING: lo", lo convertirá en "1" y "lo" en las posiciones 0 y 1 de $arreglo.
Saludos!
AMD
usa str_replace sobre la
usa str_replace sobre la cadena original y elimina "STRING: " de la misma ;) o te puedes complicar la vida con una función que se ejecute sobre cada uno de los elementos del array, ya ni me acuerdo como se llama eso :D, pero creo que con la primera opción lo logras más fácilmente ...
Suerte ...
bye
;)