php - 多维数组到 HTML 表
问题描述
我正在尝试将 php 多维数组转换为 HTML 表。
问题是我想用rowspan
and来组织表格colspan
以反映数组结构。我知道它有效,但我不想在另一张桌子内使用一张桌子。
下面是一个数组示例和预期结果。
编辑:
下面还有我当前的结果(没有rowspan
and colspan
)
我使用 rownspan 的尝试导致一团糟。桌子完全失去了它的结构。
Edit2:
下面还有我的来源和它的实际结果。
Array
(
[0] => ID
[1] => Array
(
[test2_id] => Array
(
[0] => ID
[1] => name
[2] => data
[3] => Array
(
[test3_id] => Array
(
[0] => ID
[1] => name
[2] => info
[3] => data
)
)
[4] => info
)
)
[2] => name
[3] => Array
(
[test4_id] => Array
(
[0] => ID
[1] => name
[2] => info
[3] => data
)
)
[4] => data
[5] => info
)
php:
echo '<table border= 1>';
$this->iterate($array, 4);
echo '</table>';
function iterate($array, $level)
{
echo '<tr>';
foreach ($array as $key=>$row)
{
if (is_array($row) )
{
echo '<th rowspan="1" colspan="'.count($row, COUNT_RECURSIVE).'">';
echo key($row);
echo '</th>';
}
else
{
echo '<th rowspan="'.$level.'" >'.$row.'</th>';
}
}
echo '</tr>';
foreach ($array as $key=>$row)
{
if (is_array($row) )
{
$this->iterate($row, $level -1);
}
}
}
我遇到的问题之一是 COUNT_RECURSIVE 命令包含键和值。我必须进行手动迭代才能获得正确的计数(对于 colspan)
结果图片下方:
php reult
解决方案
推荐阅读
- python - FastAPI、SQLAlchemy、pytest,无法获得 100% 的覆盖率,它没有正确收集
- ios - 是否可以在 react native 中使用 ffplay 预览 ffmpeg 的输出?
- r - 决定 1 或 2 或两者都由 2 个变量分组
- sql - ORA-06502: PL/SQL: 数字或值错误: 包函数中的字符到数字转换错误
- openvpn - OpenVPN - 无法上网
- css - 如何缩放“剪辑路径:路径”?
- mongodb - 服务停止后(谷歌云)可以在 GKE 中恢复数据库吗?
- python - 气流:无法将数据从 mysql 数据库传输到 csv 文件
- eclipse - 如何让 CVS 插件在 Eclipse 2021-09 中工作?
- javascript - 如何使用 Redis 6 将 tls:{rejectUnauthorized: false} 设置为 kue.createQueue 以避免自签名证书错误