PHP应用“双”甚至奇数类

时间:2015-11-04 23:17:30

标签: php

假设我在循环中创建div:

 $i = 0;
 while ($i < 20) {
    echo '<div class="…">x</div>';
 $i++;
  }

如何在这个节奏中应用课程

<div class="even">x</div>
<div class="odd">x</div>
<div class="odd">x</div>
<div class="even">x</div>
<div class="even">x</div>
<div class="odd">x</div>
<div class="odd">x</div>
…

(双斑马)

我总是以某种方式结束:

$i%2 ? 'even':'odd';

哪会给我

even
odd
even
odd

(斑马条纹)

谢谢!

3 个答案:

答案 0 :(得分:2)

只是做:

which python

答案 1 :(得分:2)

许多可能的解决方案,例如:

$i%4 < 2 ? 'even':'odd'

编辑:或使用CSS3的第n个子选择器:

<!DOCTYPE html>
<html>
    <head>
        <title>...</title>
        <style type="text/css">
            table.doublezebra tr {
                background: #ccc;
            }
            table.doublezebra tr:nth-child(4n-1), table tr:nth-child(4n)  {
                background: #eef;
            }
        </style>
    </head>
    <body>
        <table class="doublezebra">
            <tr><td>A</td></tr>
            <tr><td>B</td></tr>
            <tr><td>C</td></tr>
            <tr><td>D</td></tr>
            <tr><td>E</td></tr>
            <tr><td>F</td></tr>
            <tr><td>G</td></tr>
        </table>
    </body>
</html>

答案 2 :(得分:0)

如果超过2个值(偶数/奇数),我更喜欢使用如下数组:

$classes = array('even', 'odd', 'odd', 'even');

for($i=0; $i<20; $i++){
    $clsIdx = $i % count($classes);
    echo "{$classes[$clsIdx]}<br>";
}

演示:http://codepad.viper-7.com/vlCHdv

这允许任何值以任何顺序重复。