【发布时间】:2020-05-27 21:57:14
【问题描述】:
我有一个多维 JSON 数组,我想在这个数据中生成一个基本的 bacis HTML 表。
JSON 格式如下 - link here;
[
{
"id": 1,
"date": "10.02.2020",
"floor": "Ground",
"room_name": "G01",
"room_status": 1,
"hour": {
"08": 1,
"09": 2,
"10": 1,
"11": 2,
"12": 0,
"13": 1,
"14": 2,
"15": 2,
"16": 1,
"17": 0,
"18": 1,
"19": 1,
"20": 0
}
},
{
"id": 2,
"date": "10.02.2020",
"floor": "Ground",
"room_name": "G02",
"room_status": 2,
"hour": {
"08": 1,
"09": 1,
"10": 0,
"11": 0,
"12": 0,
"13": 0,
"14": 1,
"15": 1,
"16": 0,
"17": 1,
"18": 1,
"19": 1,
"20": 1
}
},
{
"id": 3,
"date": "10.02.2020",
"floor": "Ground",
"room_name": "G03",
"room_status": 1,
"hour": {
"08": 0,
"09": 2,
"10": 2,
"11": 2,
"12": 0,
"13": 2,
"14": 1,
"15": 0,
"16": 1,
"17": 1,
"18": 1,
"19": 2,
"20": 2
}
},
{
"id": 4,
"date": "10.02.2020",
"floor": "Ground",
"room_name": "G04",
"room_status": 2,
"hour": {
"08": 1,
"09": 2,
"10": 2,
"11": 1,
"12": 1,
"13": 0,
"14": 0,
"15": 1,
"16": 0,
"17": 2,
"18": 0,
"19": 1,
"20": 2
}
},
{
"id": 5,
"date": "10.02.2020",
"floor": "Ground",
"room_name": "G05",
"room_status": 2,
"hour": {
"08": 1,
"09": 2,
"10": 1,
"11": 0,
"12": 0,
"13": 0,
"14": 2,
"15": 1,
"16": 1,
"17": 2,
"18": 2,
"19": 1,
"20": 1
}
}
]
我需要遍历这些数据并在左侧列中显示date、floor 和room_name。我能够做到这一点,但是我还需要在同一个表格单元格中显示hour 和room_status。我不知道如何实现这一点。
我需要我的决赛桌看起来像这样(请注意,我将在决赛桌中将整数更改为字符串,即0 = false、1 = true 等);
+------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| Room | | | | | | | | | | | | | |
+------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| 10.02.2020 | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| Ground | | | | | | | | | | | | | |
| G01 | 1 | 2 | 1 | 2 | 0 | 1 | 2 | 2 | 1 | 0 | 1 | 1 | 0 |
+------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| 10.02.2020 | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| Ground | | | | | | | | | | | | | |
| G02 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 1 |
+------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| 10.02.2020 | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 2 |
| Ground | | | | | | | | | | | | | |
| G02 | 0 | 2 | 2 | 2 | 0 | 2 | 1 | 0 | 1 | 1 | 1 | 2 | |
+------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| etc | etc | etc | etc | etc | etc | etc | etc | etc | etc | etc | etc | etc | etc |
+------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
在上表中,hour 是单元格中的最大值(08 到 20),room_status 是下面的值(0、1 或 2)。
我的 PHP 代码是;
$string = file_get_contents("data.json");
$json = json_decode($string, true);
<?php foreach($json as $room): ?>
<tr>
<td>
<p><?php echo $room['date']; ?></p>
<p><?php echo $room['floor']; ?></p>
<p><?php echo $room['room_name']; ?></p>
</td>
// need help with populating the other table cells here
</tr>
<?php endforeach; ?>
我知道我需要某种嵌套的 foreach 循环才能访问 hour 键和值,但我无法弄清楚:/
感谢任何帮助。
【问题讨论】:
-
预期表上的
hour和room_status在哪里?
标签: php html json loops foreach