У меня есть следующий массив (выставлен с помощью var_dump).
array (size=3)
'auth' => string 'debug' (length=5)
'url' => string 'http://X.X.X.X/status.cgi?' (length=31)
'page' => string '{ "host": { "uptime": 1543, "time": "2011-07-26 12:07:40", "fwversion": "v1.1.1", "hostname": "ASDASDASD", "netrole": "DFDFDF" }, "lan": { "status": [{ "plugged": 1, "speed": 100, "duplex": 1 }], "hwaddr": "00:00:22:11:11:11", "ip": "", "rx": { "bytes": 5988, "packets": 83, "errors": 0 }, "tx": { "bytes": 9496, "packets": 120, "errors": 0 } }, "wan": { "status": [], "hwaddr": "00:00:00:00:00:00", "ip": "", "rx": { "bytes": 0, "packets": 0, "errors": 0 }, "tx": { "bytes": 0, "packets"'... (length=1779)
Мне нужно извлечь информацию из WAN, как IP или RX …
Я пытался использовать $ array [‘page’] [‘wan’] [‘rx’], но ничего не получилось !!!
Благодарю.
page
ценность вашего $array
на самом деле это не массив, а строка. Так как это строка JSON, вы должны использовать json_decode
чтобы декодировать строку в значимый формат для обработки PHP:
$page = json_decode($array['page']);
$pageArray = json_decode($array['page']); // Returned as an array
И чтобы получить RX, например:
var_dump($page->wan->rx); // Returned as an object
var_dump($pageArray['wan']['rx']); // Return as an array
Других решений пока нет …