@DeniSidorenko

Как модернизировать данный код php?

<div class="apartaments-floor active">
          <span>Выберите этаж:</span>
            <?php $loopCounter = 0 ;  ?>
            <?php $etageNumber = 1 ;?>
            <?php while ( have_rows('river') ) : the_row(); ?>
            
            
              <?php  if( get_row_layout() == 'etage' ): ?>
                <?php 
                  
          
                  ?>
                  <?php if($loopCounter % 10 == 0): ?>
                    <div class="apartaments-row">
                      <span><?php echo $etageNumber?>-<?php echo $loopCounter + 10?></span>
                      <ul>
                  <?php endif;   $loopCounter++;?>
                  <li><span><?php echo $etageNumber; $etageNumber++?></span></li>
                  
                <?php if($loopCounter % 10 == 0): ?>
                    </ul>
                  </div>
                <?php endif; ?>
                    

                
              <?php endif; ?>
            <?php endwhile; ?>

        </div>


Суть в том что каждые 10 пунктов создают новую структуру ul куда выводится все пункты. И все отлично работает , но у меня не ровное количество пунктов. Т.е их постоянно 61 пункт. Как сделать что бы последний пункт , он же и 61 не создавал новую UL а становился последним , 11 пунктом в 6 рядом?
  • Вопрос задан
  • 71 просмотр
Пригласить эксперта
Ответы на вопрос 1
@Milton812
1) Используя array_chunk разбить элементы на секции по 10 элементов.
2) Если последняя секция содержит 1 элемент, то добавить его в предпоследнюю секцию и удалить последнюю.
3) В цикле вывести секции, а внутри каждой секции вывести элементы этих секций

Последнее, но не менее важное: использовать === для сравнения
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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