我使用for循環創建一個三乘X模式的項目網格。每列項目都需要有不同的屬性,但我很難找到一個解決方案來準確地選擇正確的項目。目前我一直在嘗試使用Mod%。
我正在努力實現的一個例子:
[紅][藍][綠][紅][藍][綠][紅][藍][綠][紅][藍][綠]等
我一直在使用switch來實現這一點:
for($i = 1; $i <= 20; $i++) {
switch($i) {
case ($i % 3 == 0):
/* Do column three*/
break;
case ($i % 2 == 0):
/* Do column two*/
break;
Default:
/* Do column one*/
break;
}
}
問題是,每一列的結果并不是每次都是相同數字的倍數,我不想嘗試為每一種可能性都包含一個案例。
有沒有辦法簡單地實現這一點?
您使用的是
switch
,您應該使用if
。兩者并非100%可互換。特別是,
$i
上的開關永遠不會真正等于case
子句中的布爾(true/false)條件。一般來說,動態case
子句通常表示您應該使用if
。switch
用于對照常量選項檢查動態值,常量選項是一組特定的已知可能值。只需使用
if
來清楚地表達邏輯: