提取 PHP 数组值


extract php array value

我有以下数组(使用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'],但什么都没有!!

谢谢。

$arraypage值实际上不是一个数组,而是一个字符串。由于它是一个 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