对于任何重复内容,我深表歉意.我搜索和阅读了其他问题,但没有找到任何问题.我有一个来自JSON请求的多维数组,我希望遍历该数组并根据其中一个值按组显示其内容.这是我的JSON:
{
"response": {
"error": false,
"message": "",
"total_items": 6,
"items": [
{
"id": 1001,
"server_name": "server001.test.com",
},
{
"id": 1001,
"server_name": "server002.test.com",
},
{
"id": 1002,
"server_name": "server001.test.com",
},
{
"id": 1002,
"server_name": "server002.test.com",
},
{
"id": 1002,
"server_name": "server003.test.com",
},
{
"id": 1003,
"server_name": "server001.test.com",
},
{
"id": 1003,
"server_name": "server002.test.com",
},
{
"id": 1003,
"server_name": "server003.test.com",
},
{
"id": 1004,
"server_name": "server004.test.com",
},
]
}
}
到目前为止,我的 idea 是:
<?php
$json = '{
"response": {
"error": false,
"message": "",
"total_items": 6,
"items": [
{
"id": 1001,
"server_name": "server001.test.com"
},
{
"id": 1001,
"server_name": "server002.test.com"
},
{
"id": 1002,
"server_name": "server001.test.com"
},
{
"id": 1002,
"server_name": "server002.test.com"
},
{
"id": 1002,
"server_name": "server003.test.com"
},
{
"id": 1003,
"server_name": "server001.test.com"
},
{
"id": 1003,
"server_name": "server002.test.com"
},
{
"id": 1003,
"server_name": "server003.test.com"
},
{
"id": 1004,
"server_name": "server004.test.com"
}
]
}
}';
$array = json_decode($json, true);
if ($array) {
$items = $array['response']['items'];
}
foreach ($array as $item) {
foreach ($items as $key) {
$id = $items[0]['id'];
$server_name = $items[0]['server_name'];
echo "| $id | $server_name | <br/>";
}
}
?>
我的输出是:
| 1001 | server001.test.com |
| 1001 | server001.test.com |
| 1001 | server001.test.com |
| 1001 | server001.test.com |
| 1001 | server001.test.com |
| 1001 | server001.test.com |
| 1001 | server001.test.com |
| 1001 | server001.test.com |
| 1001 | server001.test.com |
但我预计会是这样的:
| 1001 | server001.test.com |
| | server002.test.com |
| 1002 | server001.test.com |
| | server002.test.com |
| | server003.test.com |
| 1003 | server001.test.com |
| | server002.test.com |
| | server003.test.com |
| 1004 | server004.test.com |
感谢您的真知灼见和建议!