简化PHP条件

时间:2016-10-06 06:39:50

标签: php

我有一个连续创建六边形的循环,但如果每行不使用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'>"; };

这可能吗?

1 个答案:

答案 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'>"; };