объединить два цикла foreach в один и разобрать его в строку таблицы - PullRequest
0 голосов
/ 19 мая 2019

Я работаю над кодом php / html, как показано ниже, в котором я хочу объединить два кода php в один.

1-й цикл 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>
';
}

2-й цикл 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.

1 Ответ

1 голос
/ 19 мая 2019

Предполагая, что оба массива имеют одинаковые ключи, вы можете использовать ключи одного массива для доступа к совпадающим значениям другого.Например:

<?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 } ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...