7 Stimmen

Wie kann man die folgende Schleife komprimierter ausführen?

Ich habe die folgende for-Schleife. Sie verwendet die Werte 0-6 aus Montag-Sonntag jeweils.

Gibt es eine kompaktere Möglichkeit, dies zu tun? Im Gegensatz zu einer Auflistung der if ($i=="day")

// $i = 0 is monday... $i = 6 is Sunday
for($i=0;$i<7;$i++){

    if ($i==0)
        echo ' <input name="repeat_on_week[]" type="checkbox" value="0"  /> Monday';
    if ($i==1)
        echo ' <input name="repeat_on_week[]" type="checkbox" value="1" /> Tuesday';
    if ($i==2)
        echo ' <input name="repeat_on_week[]" type="checkbox" value="2" /> Wednesday';
    if ($i==3)
       echo ' <input name="repeat_on_week[]" type="checkbox" value="3" /> Thursday';
    if ($i==4)
       echo ' <input name="repeat_on_week[]" type="checkbox" value="4" /> Friday';
    if ($i==5)
        echo ' <input name="repeat_on_week[]" type="checkbox" value="5" /> Saturday';
    if ($i==6)
        echo ' <input name="repeat_on_week[]" type="checkbox" value="6" /> Sunday';

}

0 Stimmen

Obwohl nicht anwendbar auf diese genaue Frage, möchte ich sanft injizieren eine Erweiterung zu den oben genannten Code; nach dem ersten 'if', der Rest könnte (sollte) sein 'else if' (oder 'elif', ich bin nicht ein php afficianado)

0voto

Eiko Punkte 25446

Verwenden Sie entweder eine Switch-Anweisung oder ein Array mit den Zeichenketten direkt.

0voto

Pops Punkte 29149

Ihr Code wird lediglich jede Zeile einmal der Reihe nach ausgeben. Ich habe nicht den Eindruck, dass Sie überhaupt eine Schleife benötigen.

0 Stimmen

Nun, es gibt noch anderen Code in dieser Schleife, der dies erfordert (zu Vergleichszwecken habe ich ihn weggelassen, um den Code leichter lesbar zu halten).

0 Stimmen

@kylex, ah, also gut. Jede der Antworten, die ein Array verwenden, funktioniert also.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X