Как выполнить il oop через массив внутри массива в базе данных? - PullRequest
0 голосов
/ 04 августа 2020

У меня есть два массива изображений в моей mysql базе данных, которые я пытаюсь пропустить через oop и отобразить их. Один массив содержит массив полноразмерных изображений под названием «postImage», а другой, называемый «миниатюра», содержит эскизы тех же изображений. Однако один массив предназначен для ссылки <a>, которую я хочу направить на полноразмерные изображения, а другой массив - для тега <img> внутри ссылки <a>. Я пытаюсь выяснить, как я могу l oop через оба массива, но иметь каждую <a> ссылку go на правильное соответствующее полноразмерное изображение.

вот мой код:

<?php foreach(json_decode($post->thumbnail) as $thumbnail) { ?>
  <?php foreach(json_decode($post->postImage) as $postImage) { ?>
    <a href="/storage/photos/{{$postImage}}">
      <img src="/storage/photos/{{$thumbnail}}" alt="" class="img-fluid">
    </a>
  <?php } ?>
<?php } ?>

1 Ответ

0 голосов
/ 04 августа 2020

Не используйте вложенные циклы, которые будут производить перекрестное произведение всех миниатюр и изображений.

L oop по одному массиву и использовать его индекс для доступа к соответствующему элементу другого массива .

$thumbnails = json_decode($post->thumbnail);
$postImages = json_decode($post->postImage);
foreach ($thumbnails as $i => $thumbnail) {
    $postImage = $postImages[$i]; { ?>
    <a href="/storage/photos/{{$postImage}}">
      <img src="/storage/photos/{{$thumbnail}}" alt="" class="img-fluid">
    </a>
<?php } ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...