2011-04-01 74 views

回答

3
for ($i=0; $i<=25; $i++) 
{ 
    if($i == 0) 
    { 
     continue; 
    } 
    if ($i % 2) 
    { 
     //is odd 
    } 
    else 
    { 
     //is even 
    } 

} 

就這麼簡單。繼續將導致它跳過循環的這個特定循環的其餘部分。你也可以在continue之前做一些代碼來處理0,因爲0不是偶數也不奇怪。或者你可以使它成爲if/elseif/else結構的第一部分。

或者不是if($i % 2)你可以做if($i % 2 || $i == 0)這將使它通過奇數代碼而不是偶數代碼來處理。

0

爲($ i = 0; $ I < = 25; $ I ++){ 如果($則i%2 & & $ I!= 0){是奇數}否則{甚至} }

+0

你有$ 1而不是$ i。 – 2011-04-01 15:25:36

+0

是的,謝謝。編輯它。 – bl00dshooter 2011-04-01 15:29:04

1

就這麼簡單。

for ($i=0; $i<=25; $i++) { 
    if($i) { 
     if ($i % 2) { is odd } else { is even } 
    } 
    // Other code 
} 

或者,如果你想指望0奇:

for ($i=0; $i<=25; $i++) { 
    if (!$i || $i % 2) { is odd } else { is even } 
    // Other code 
} 
1
for ($i=0; $i<=25; $i++) { 
if (i==0) { 
    echo 'zero'; 
    } elseif ($i % 2 ==0) { 
    echo 'is even'; 
} else { 
    echo 'is odd'; 
} 
} 

OR

for ($i=0; $i<=25; $i++) { 
    if ($i !=0){ 
     if ($i % 2 ==0 { 
     echo 'is even'; 
     } else { 
     echo 'is odd'; 
     } 
    } 
    } 
1

首先,你真的需要從0開始你的循環?你可以easyly做for ($i=1; $i<=25; $i++)

如果你真的需要從0開始,你其實可以把一個測試這種特殊情況的工作這個局面:



if ($i === 0 || $i % 2) { is odd } else { is even } 

0

如果你只是想通過偶數值迭代,這將對其進行排序:

for ($i=0; $i<=25; $i+=2) { 
... 
} 
0

也許這不是最可讀的,但是這將是最有效的:

for ($i=0; $i<=25; $i++) { 
    if ($i) 
     if ($i & 1) { is odd } else { is even } 
} 
0

我認爲你需要,不幸的是,額外的,如果...

for ($i=0; $i<=25; $i++) { 
echo (($i>0)?(($i % 2)? "odd":"even"):"whatever"); 
} 
0

爲什麼不1回答更增加本已回答後:

for ($i=0; $i<=25; $i++) 
{ 
    if($i === 0) continue; 
    if ($i % 2) { is odd } else { is even } 
} 

如果添加if($i === 0) continue;將跳過其餘的代碼,並進入下一個迭代。