在一个布局中合并两个foreach

时间:2015-09-15 14:25:02

标签: php

我有两个阵列。

从结果中我想制作一个包含foreach

的表格

但我不知道如何让它在一个表行中运行..

这就是我得到的

<table>
<?php foreach ($appky as $appka) : ?>
<tr class="counter_apps" height="20px"  >
<td width="40%"><?php echo $appka->name; ?></td>
<td width="20%"><?php echo $appka->all_items;?></td>
<td width="20%"><?php echo $appka->published; ?></td>
<td width="20%"><?php echo $appka->unpublished; ?></td>
</tr>
<?php endforeach;  ?>
</table>

<table>
<?php foreach ($applications as $application) : ?>
<tr><td><?php echo $application->name; ?></td></tr>
<?php endforeach; ?>  
</table>

所以我想要的只是在第一个表中添加$application->name;

的另一列

我在这里失踪了什么? 感谢

3 个答案:

答案 0 :(得分:0)

<table>
<?php 
$count = count($appky);
for($i=0; $i< $count; $i++) { ?>
    <tr class="counter_apps" height="20px"  >
    <td width="40%"><?php echo $appky[$i]->name; ?></td>
    <td width="20%"><?php echo $appky[$i]->all_items;?></td>
    <td width="20%"><?php echo $appky[$i]->published; ?></td>
    <td width="20%"><?php echo $appky[$i]->unpublished; ?></td>
    <td width="20%"><?php echo $applications[$i]->name; ?></td>
</tr>
<?php }  ?>
</table>

答案 1 :(得分:0)

使用for代替foreach

<table>
<?php for($i=0 ; $i<count($appky) ; $i++ ) { ?>
    <tr class="counter_apps" height="20px"  >
    <td width="40%"><?php echo $appka[$i]->name; ?></td>
    <td width="20%"><?php echo $appka[$i]->all_items;?></td>
    <td width="20%"><?php echo $appka[$i]->published; ?></td>
    <td width="20%"><?php echo $appka[$i]->unpublished; ?></td>
    <td width="20%"><?php echo isset($applications[$i]) ? $applications[$i]->name : '' ; ?></td>
    </tr>
<?php }  ?>
</table>

答案 2 :(得分:-1)

假设您的两个数组不一定按顺序排列 - 如果您的某些数据与$appka$application之间匹配,则可以尝试以下内容:

<table>
<?php foreach ($appky as $appka) : ?>
<tr class="counter_apps" height="20px"  >
<td width="40%"><?php echo $appka->name; ?></td>
<td width="20%"><?php echo $appka->all_items;?></td>
<td width="20%"><?php echo $appka->published; ?></td>
<td width="20%"><?php echo $appka->unpublished; ?></td>
  <?php foreach ($applications as $application) : ?>
    <?php if ($appka->id == $application->id) { ?>
    <td><?php echo $application->name; ?></td>
    <?php } ?>
  <?php endforeach; ?> 
</tr>
<?php endforeach;  ?>
</table>

否则你将无法吐出正确的应用程序名称。上面的解决方案使用id字段,但您可能会使用其他可以匹配的字段。