@DeniSidorenko

Как образом можно вывести такую структуру?

Есть такая структура
<div class="item">
  <div class="item-left">
    <div class="point"></div>
    <div class="point"></div>
    <div class="point"></div>
    <div class="point"></div>
  </div>
  <div class="item-right">
    <div class="point"></div>
  </div>
</div>

<div class="item">
    <div class="item-left">
      <div class="point"></div>
      <div class="point"></div>
      <div class="point"></div>
      <div class="point"></div>
    </div>
    <div class="item-right">
      <div class="point"></div>
    </div>
  </div>

Есть массив который имеет 30 пунктов, каждую надо вывести в point. Наверху идет цикл foreach. Каким образом можно вывести по такому принципу что бы каждые 5 пунктов размещались в item-left а один в item-right Спасибо
  • Вопрос задан
  • 95 просмотров
Решения вопроса 1
BoShurik
@BoShurik
Symfony developer
<?php
$items = range(1, 30);
$chunks = array_chunk($items, 5);
$chunks = array_map(function($items){
    return array_chunk($items, 4);
}, $chunks);
?>

<?php foreach ($chunks as $chunk): ?>
    <div class="item">
        <div class="item-left">
            <?php foreach ($chunk[0] as $item): ?>
                <div class="point"><?=$item?></div>
            <?php endforeach; ?>
        </div>
        <div class="item-right">
            <?php foreach ($chunk[1] as $item): ?>
                <div class="point"><?=$item?></div>
            <?php endforeach; ?>
        </div>
    </div>
<?php endforeach; ?>


Если элементов не всегда 30, то надо делать проверку на существование $chunk[1]
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы