Как я могу сделать эти строки PHP короче?

У меня есть этот цикл, он будет считать результат:

while ($wp_query->have_posts()) : $wp_query->the_post(); $current++; $current2++; 

Затем для вызова соответствующего класса html мне нужно это для моего дизайна:

 <div class="span4 <?php if($current == 0) { echo 'first'; } elseif($current == 1) { echo 'second'; } elseif($current == 2) { echo 'first'; } elseif($current == 3) { echo 'second'; } ?>" id="<? echo $current; ?>"> 

$count начинается с 0 и $count2 с 1. Выход должен быть таким: если 0 = первый, 1 = второй, 2 = первый, 3 = второй и т. Д. Как я могу сделать это выражение короче с неограниченным числом $count ? Надеюсь, мой вопрос ясен. Спасибо вам за тех, кто поможет мне здесь.

Solutions Collecting From Web of "Как я могу сделать эти строки PHP короче?"

Если я понимаю, что вы здесь задаете, я думаю, вы хотите чередовать свои div с «первым» и «вторым» классами?

Таким образом, вы можете использовать оператор% modulo (см. http://php.net/manual/en/internals2.opcodes.mod.php )

 <div class="span4 <?php echo ($current % 2 === 0 ? 'first' : 'second'); ?>" id="<? echo $current; ?>"> 

Если вы просто используете эти имена классов для чередующихся стилей CSS, существует очень элегантный способ сделать это с помощью CSS3

Ваш HTML-код

 <div class="span4" id="<? echo $current; ?>"> 

И в вашем файле css

 .span4:nth-child(even) {background: #CCC} .span4:nth-child(odd) {background: #FFF} 

иначе для решения PHP ответ Лиама Уилтшира должен работать хорошо.

источник: примеры с четными и нечетными правилами CSS

Таким образом, вы можете использовать mod – лучше всего использовать полный <?php для WordPress, если это то, что он есть.

php, если число нечетное или четное

  // set up the html clips if($current % 2 == 0){ $html_clips = 'first'; }else{ $html_clips = 'second'; } if($current == 0) $html_clips = 'first'; <div class="span4 <?php echo $html_clips ?>" id="<?php echo $current; ?>"> 

попробуйте этот путь

 <div class="span4 <?php if ($curent%2 == 0){ echo 'first'; } else {echo 'second';}?> id="<? echo $current; ?>">