我有一个连续创建六边形的循环,但如果每行不使用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 "</div><div class='hex-wrap'>"; };
这可能吗?
答案 0 :(得分:0)
这应该这样做,虽然绝对可以以某种方式美化:
$numbers = [];
$n = 1;
$numbers[] = $n;
while ($n < 29) // Or whichever is the allowed maximum number
{
$n += 2;
$numbers[] = $n;
$n += 1;
$numbers[] = $n;
}
然后:
if (in_array($i, numbers)) { echo "</div><div class='hex-wrap'>"; };