2010-11-10 75 views
0

我需要显示三个div while循环。 第一个div有类名箱hdr5和第二个div是箱hdr4while循环内的替代div?

有没有办法这样做呢?请给我一些想法。

+2

第三格呢? – ajreal 2010-11-10 05:46:55

回答

1
$i = 0 

while (true) { 
    $class = ($i++ % 2 == 0) ? 'box-hdr5' : 'box-hdr4'; 
    echo "<div class='" . $class . "'>stuff</div>"; 
} 

%是模数运算符,它返回整数除法的余数。当$ i被2整除时,余数将为0,这是循环中的每隔一次。

+0

我想它应该可以工作,但它不适用于我的工作。不知道什么是错的... – 2010-11-10 10:18:27

+0

除了在第一行中缺少分号,它工作正常。 “它不起作用”并不是你希望有人帮助你时给出的那种解释,因为它告诉我们你所遇到的问题不是什么都说的。 这只是一个实现你的目标的技术的例子。你用它做了什么,哪些不起作用? – 2010-11-10 19:35:02

5

你只需要有一个计数器,并找出数字是奇数还是偶数,这很容易用modulus operator完成。

$x = 0; 
while (/* true */) { 
    if ($x++ % 2) { 
     /* box-hdr4 */ 
    } else { 
     /* box-hdr5 */ 
    } 
} 
1

你甚至都不需要做由2

$alternate = false; 
while (/* true */) { 
    $alternate = !$alternate; 
    if ($alternate) { 
     // box-hdr4 
    } else { 
     // box-hdr5 
    } 
} 

模但是上面的答案都是一样的好。