2010-11-10 12 views
0

Мне нужно отправить три divs в качестве альтернативы внутри a while loop. Первый DIV имеет имя класса бокс-hdr5 и второй DIV является коробчатого HDR4Альтернативный div внутри цикла while?

Есть ли способ сделать это? Пожалуйста, дайте мне некоторое представление.

+2

Что относительно 3-го дивизиона? – ajreal

ответ

1
$i = 0 

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

% - оператор модуля, который возвращает остальную часть целочисленного деления. Остальная часть будет равна 0, когда $ i равномерно делится на 2, что будет через каждый цикл.

+0

Я предполагаю, что это должно было работать, но оно не работает в моей. Dunno, что не так ... –

+0

Кроме пропусков точки с запятой на первой строке, она отлично работает. «он не работает» - это не то объяснение, которое вы даете, когда хотите, чтобы кто-то помог вам, так как он рассказывает о том, какую проблему вы испытываете, вообще не говоря ни слова. Это был всего лишь пример техники для достижения вашей цели. Что вы с ним сделали и что не сработало? –

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 
    } 
} 

Но вышеприведенные ответы одинаково хороши.

Смежные вопросы