2010-11-28 44 views
0

使用PHP,像這樣..每次計數器命中6 - 一個基本的數學問題,幫助

for($i = 0; $i < 30; $i++) ... 

我有一個渲染幾次這個HTML元素。我想,每當我們到達第六個元素時,它都會添加一個「style:margin-right:0px;」例如。

我的問題是: 我們如何找到總是第六個元素?

更新:可以標記第6個元素,然後是第12個元素,然後是第18個元素,然後是第24個,至少是第30個。

由於提前, MEM

+0

這是一個很好的做法,在Javascript中實現這一點比在PHP中。 – Sairam 2010-11-28 04:07:00

回答

2

可以使用模運算符,%

for ($i = 0; $i < 30; $i++) { 
    if ($i % 6 == 5) { 
    # Add what you want---I don't use PHP much 
    } 
} 

模運算符,%,通過右側分左側,然後報告剩餘部分的結果。因此,例如,15 % 6 == 3,因爲15 == 6*2 + 3。在表達式a % b == c中,c的範圍將從0b-1。如果你在上面的測試中有$i % 6 == 0,它會設計第一個元素,第七個元素等。這樣,它將設計第六個元素,第十二個元素等。這是因爲當你在第六個元素上時,$i == 55 % 6當然是6。欲瞭解更多信息,請查看what Wikipedia has to say about the modulo operation

+0

非常感謝。我需要了解和研究爲什麼6 == 5也可以。哦,好吧......我已經將你的帖子標記爲有用,因爲確實如此。非常感謝。 – MEM 2010-11-28 04:25:38

2

檢查的$ i和6 mod爲0(意味着$ i是整除6)。

for($i = 0; $i < 30; $i++) { 
    if($i % 6 == 0) { 
     // this is a sixth element 
    } 
    ... 
} 

如果你不想這對第一次迭代發生($ I == 0),你還需要到檢查添加到if語句:

if($i > 0 && $i % 6 == 0){ 
} 
1

你可以嘗試使用模數(%)

if(!($i % 6)) { 
    // add style 
} 

if(($i % 6) == 0) { 
    // add style 
} 

編輯:卡萊布打我吧=/