#php
#php
Вопрос:
У меня есть цикл, который создает шестиугольники 3 в строке, но в коде есть небольшая ошибка, если 3 не используются в строке. Чтобы обойти это, я применял отрицательную позицию, используя условный код, но, очевидно, это не сработает без добавления условий к каждому шагу.
Кто-нибудь знает способ упростить следующее для будущей проверки? Условие просто проверяется с шагом 3.
if($i == 3) { echo ".hex-2 { left: -24.7%;}"; } else if($i == 6) { echo ".hex-5 { left: -24.7%;}"; } else if($i == 9) { echo ".hex-8 { left: -24.7%;}"; }
Я бы тоже хотел что-то сделать для этого массива, который имеет значение 2, затем 1, затем 2 и так далее;
if(in_array($i, array(1,3,4,6,7,9,10,12,13,15,16,18,19,21,22,24,25,27,28,30,31))) { echo "lt;/divgt;lt;div class='hex-wrap'gt;"; };
Возможно ли это?
Ответ №1:
Это должно сделать это, хотя это определенно можно как-то украсить:
$numbers = []; $n = 1; $numbers[] = $n; while ($n lt; 29) // Or whichever is the allowed maximum number { $n = 2; $numbers[] = $n; $n = 1; $numbers[] = $n; }
И затем:
if (in_array($i, numbers)) { echo "lt;/divgt;lt;div class='hex-wrap'gt;"; };