2016-10-06 6 views
0

Ich habe eine Schleife, die Hexagons 3 hintereinander erstellt, aber es gibt einen kleinen Fehler im Code, wenn 3 pro Zeile nicht verwendet werden. Um dies zu umgehen, habe ich eine negative Position unter Verwendung von Bedingungscode angewendet, aber es wird offensichtlich nicht funktionieren, ohne Bedingungen zu jedem Schritt hinzuzufügen.Vereinfachen PHP Bedingung

Kennt jemand eine Möglichkeit, das Folgende für zukünftiges Proofing zu vereinfachen? Der Zustand prüft nur in Schritten von 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%;}"; 
} 

Ich möchte auch etwas für diese Reihe tun, die in 2 zählt dann 1, dann 2 und so weiter;

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

Ist das möglich?

Antwort

0

Dies sollte es tun, obwohl es kann auf jeden Fall irgendwie verschönert werden:

$numbers = []; 
    $n = 1; 
    $numbers[] = $n; 
    while ($n < 29) // Or whichever is the allowed maximum number 
    { 
     $n += 2; 
     $numbers[] = $n; 
     $n += 1; 
     $numbers[] = $n; 
    } 
Und dann

:

if (in_array($i, numbers)) { echo "</div><div class='hex-wrap'>"; };