我正在处理如下所示的php / html代码,其中我想将两个php代码合并为一个。
第一个foreach循环:
foreach ( $programs as $program) {
echo '
<tr>
<td style="width:8%; text-align:center;">'.$program["series_title"].'</td>
<td style="width:8%; text-align:center;">'.$program["episode_title"].'</td>
</tr>
';
}
第二个foreach循环:
<?php foreach ($mp4_files as $file ) {
?>
<tr>
<td style="width:8%; text-align:center;"> <?php echo basename($file, ".mp4"); ?></td>
<td style="width:8%; text-align:center;"><?php echo date("H:i:s",filemtime("incoming_folder/$file")); ?></td>
<td style="width:8%; text-align:center;"> <?php echo basename($file); ?></td>
</tr>
<?php
}
?>
合并应该是这样的:
<tr>
<td style="width:8%; text-align:center;">'.$program["series_title"].'</td>
<td style="width:8%; text-align:center;">'.$program["episode_title"].'</td>
<td style="width:8%; text-align:center;"> <?php echo basename($file, ".mp4"); ?></td>
<td style="width:8%; text-align:center;"><?php echo date("H:i:s",filemtime("incoming_folder/$file")); ?></td>
<td style="width:8%; text-align:center;"> <?php echo basename($file); ?></td>
</tr>
我尝试了类似的方法,但是似乎没有用。
foreach(array_combine($programs, $mp4_files) as $f => $n) {
echo $f.$n;
echo "<br/>";
}
问题陈述:
我想知道应该在上面尝试过的php代码中进行哪些更改,以便能够成功合并两个foreach循环。
答案 0 :(得分:1)
假设两个数组具有相同的键,则可以使用一个数组的键访问另一个数组的匹配值。例如:
<?php
foreach ($programs as $key => $program) {
$file = $mp4_files[$key];
?>
<tr>
<td style="width:8%; text-align:center;"><?php echo $program["series_title"]; ?></td>
<td style="width:8%; text-align:center;"><?php echo $program["episode_title"]; ?></td>
<td style="width:8%; text-align:center;"><?php echo basename($file, ".mp4"); ?></td>
<td style="width:8%; text-align:center;"><?php echo date("H:i:s",filemtime("incoming_folder/$file")); ?></td>
<td style="width:8%; text-align:center;"> <?php echo basename($file); ?></td>
</tr>
<?php } ?>