这个问题更适合于https://stackoverflow.com 正如Max所建议的,但对于快速而肮脏的解决方案:
解决方案(粗略)
调整代码以符合您的规范,但这应该会为您提供所需的基本结构。
<?php
// assume $meta_data holds your array (e.g. get_post_meta($post_id, \'some_key\', true);
// for some sample data I made an array here: https://pastebin.com/8qgabnAM
$headings = [\'<th class="empty"></th>\'];
$rows = [];
foreach ($meta_data as $key => $months) {
$heading = str_replace(\'webw_employee_\', \'\', $key);
$heading = implode( \' \', explode(\'_\', $heading) );
$heading = ucwords( $heading );
$headings[] = "<th>{$heading}</th>";
foreach ($months as $month => $value) {
$rows[$month][$key] = "<td>{$value}</td>";
}
}
foreach ($rows as $month => $row) {
$heading = "<th>{$month}</th>";
$cells = implode(\'\', $row);
$rows[$month] = "<tr>{$heading}{$cells}</tr>";
}
$rows = implode( \'\', $rows );
$headings = implode( \'\', $headings );
$headings = "<tr>{$headings}</tr>";
?>
<table>
<tbody>
<?php echo $headings ?>
<?php echo $rows ?>
</tbody>
</table>
结果:
注意
sample data is random, 显然,数据集的情况会有所不同,这只是为了显示表是如何填充的。
如果需要,您可以轻松地调整它,将每个月都分解到它自己的表中。
结果#2:(使用计算的meta\\u键)
关于注释:
我需要向数据集添加一些值,但无论我做什么,它都会给我0,比方说我想添加工资+额外付款,即使我将其转换为float或int,它也会给我0,你认为问题是什么?ibb。co/C2tt6QV
Please refer to GIST HERE