我有以下数组(使用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['页面']['wan']['rx'],但什么都没有!!
谢谢。
$array
的page
值实际上不是一个数组,而是一个字符串。由于它是一个 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