@DeniSidorenko

Как это можно порефакторить?

Есть такой код:
$countStart  // Число из бэка до 5
$countDifference = 5 - $countStart;
              $initStar = 0; 
              $initDifference = 0;
            ?>
            <?php while ($initStar < $countStart):  ?>
              <?php $initStar++; ?>
              <li class="star-fill"></li>
            <?php endwhile; ?>
            <?php while($initDifference < $countDifference): ?>
              <li></li>
              <?php $initDifference++?>
            <?php endwhile; ?>


Каким образом лучше всего сделать его более простым?
  • Вопрос задан
  • 84 просмотра
Решения вопроса 2
@eandr_67
web-программист (*AMP, Go, JavaScript, вёрстка).
Например, так:
<?php for ($i = 0; $i < 5; ++$i) { ?>
  <li<?php if ($i < $countStart) { ?> class="start-fill"<?php } ?>></li>
<?php } ?>

Или так:
<?php
for ($i = 0; $i < 5; ++$i) {
  echo $i < $countStart ? '<li class="star-fill"></li>' : '<li></li>';
}
?>
Ответ написан
Комментировать
delphinpro
@delphinpro Куратор тега PHP
frontend developer
<?php for ($i = 0; $i < 5; $i++) { ?>
    <li class="<?= ($i <= $countStarts ? 'star-fill' : '') ?>"></li>';
<?php } ?>
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
26 апр. 2024, в 07:47
2000 руб./за проект
26 апр. 2024, в 06:46
1000 руб./в час
26 апр. 2024, в 05:31
1000 руб./за проект