PHP多数组中的读取项
我想使用foreach在PHP中阅读以下JSON信息。我是新手,需要一些帮助。出于隐私原因,我只提供了一小部分数据样本 最终目标是获取服务器阵列中的所有“id”和“real_address”PHP多数组中的读取项,php,arrays,json,Php,Arrays,Json,我想使用foreach在PHP中阅读以下JSON信息。我是新手,需要一些帮助。出于隐私原因,我只提供了一小部分数据样本 最终目标是获取服务器阵列中的所有“id”和“real_address” [ { "id":"d87df8g7sdfg89", "status":false, "servers":[ { "status":false, "platform":null,
[
{
"id":"d87df8g7sdfg89",
"status":false,
"servers":[
{
"status":false,
"platform":null,
"server_id":"adsfasdfasdfasdf",
"virt_address6":"fd00:c0a8:f800:0:192:168:248:5",
"virt_address":"192.168.248.5",
"name":"Private",
"real_address":null,
"connected_since":null,
"id":"aasdfasdfasdfsafde",
"device_name":null
}
],
},
{
"id":"asd89asd8f",
"status":true,
"servers":[
{
"status":true,
"platform":"linux",
"server_id":"fasdsdfasdfasdf",
"virt_address6":"fd00:c0a8:f800:0:192:168:248:3",
"virt_address":"192.168.248.3",
"name":"Private",
"real_address":"5.5.5.52",
"connected_since":1447406908,
"id":"asdfasdfasdfasdf",
"device_name":"thriving-fields-2667"
}
],
}
]
您可以使用
json\u解码
$data = json_decode($json, true);
foreach ($data as $value) {
foreach ($value['servers'] as $server) {
echo $server['real_address'];
}
}
像这样的
$items = json_decode($json);
foreach($items as $item){
foreach($item->servers as $server)
{
echo $server->server_id . " - ". $server->status;
}
}
如果您有PHP>=5.5.0 for
array\u column()
,您可以尝试以下方法:
$array = json_decode($json, true);
foreach (array_column($array, 'servers') as $server) {
echo $server['real_address'];
}
这是完美的,但我忘了添加我也需要ID。我在原始请求中更新了示例数据。您可以使用$server['id]获取id;必须使用$value[id],因为它不在服务器阵列中。但这让我走上了正确的道路。谢谢你的帮助。