I've discovered an issue with snmpwalk_cache_oid(). If the OID value contains a newline, explode is truncating:

$data will contain:

dot1qVlanStaticUntaggedPorts.220 = 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF 
FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 
dot1qVlanForbiddenEgressPorts.481 = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 

Thus:

$vlans = snmpwalk_cache_oid($device, "dot1qVlanStaticTable", array(), "Q-BRIDGE-MIB");
print_r($vlans);

    [220] => Array
        (
            [dot1qVlanStaticName] => 220
            [dot1qVlanStaticEgressPorts] => FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF
            [dot1qVlanForbiddenEgressPorts] => 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
            [dot1qVlanStaticUntaggedPorts] => 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF
            [dot1qVlanStaticRowStatus] => active
        )


Any suggestions?

Casey