извлечь значение массива php

У меня есть следующий массив (выставлен с помощью 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’], но ничего не получилось !!!

Благодарю.

0

Решение

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
3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]