我有这个数组,如下所示。我想在表格中输出数据,我输出每个项目下的所有小时数。因此对于每个项目它应该创建一个新的“< * tr>”,但也如果有一个Activity => “生病”。
我需要获取唯一数据而不需要重复数据。似乎无法以正确的方式设置我的循环,以便它可以创建我的表。
我可以像这样做一个标准的foreach:
foreach ($array as $key => $value)
<tr>
<td><?php echo $value['Aktivity'];?></td>
<td><?php echo $value['Project']; ?></td>
<td><?php echo $value['Hours'] ?></td>
</tr>
这给了我:
Work | Project 1 | 8
Work | Project 2 | 8
Work | Project 1 | 5
Sick | | 8
我希望它如下所示,没有重复,但我不知道从哪里开始。我试图用array_column来填充我的数组,然后做一个array_unique来获得每个Project中只有一个有效。但后来我只得到了我需要的一个值。如果可能的话,我想将它保存在原始数组中并循环遍历它。
Work | Project 1 | 8
Work | Project 2 | 13
Sick | | 8
array(4) {
[0]=>
array(3) {
["Activity"] => "Work"
["Project"] => "Projekt 1"
["Hours"] => "8"
[1]=>
array(3) {
["Activity"] => "Work"
["Project"] => "Projekt 2"
["Hours"] => "8"
[2]=>
array(3) {
["Activity"] => "Work"
["Project"] => "Projekt 1"
["Hours"] => "5"
[3]=>
array(3) {
["Activity"] => "Sick"
["Project"] => ""
["Hours"] => "8"
答案 0 :(得分:0)
我有一个非常类似的问题。
要做的第一件事是计算行数,所以在你的情况下是4.现在你知道你需要多少次运行循环。
$result = count($yourarray);
for($i = 0; $i < $result; i++)
在循环中添加类似的内容,以打印项目名称(在echo
中,您还可以添加<tr>
和<td>
等表格部分。
if($i == 0){echo yourarray[$i]['Projekt']}
然后你想做同样的活动
if($i == 0){echo yourarray[$i]['Activity']}
和小时
if($i == 0){echo yourarray[$i]['Hours']}