我正在尝试为每个 div
循环一个类。
我知道如何获得第一个和最后一个,但不知道如何迭代 1-3(或者对于其他想要扩展它的人来说更多)
我有什么:
$cats = get_categories();
// default value
$i = 0;
foreach ($cats as $cat) {
// reset class
$class = '';
if(++$i % 3 == 0) { $class = 'third - '; }
elseif(++$i % 2 == 0) { $class = 'second - '; }
elseif(++$i % 1 == 0) { $class = 'first - '; }
echo $class . $cat->name;
}
但是,当我回显 $i
以查看发生了什么时,它每次都在添加值,而不是通过 if 语句(我认为这不会导致它增加数字)
我最终得到这样的输出:
third - cat01
first - cat02
second - cat03
third - cat04
second - cat05
first - cat06
third - cat07
最佳答案
主要问题在 $i % 2 == 0 。它应该是 $i % 3 == 1。您必须始终提取模数 3 并根据 0、1 和 2 检查结果:
$cats = array('cat1', 'cat2', 'cat3', 'cat4', 'cat5', 'cat6', 'cat7');
$i = 0;
foreach ($cats as $cat) {
if ($i % 3 == 0) { $class = ' first'; }
elseif ($i % 3 == 1) { $class = ' second'; }
elseif ($i % 3 == 2) { $class = ' third'; }
$i++;
echo "\n$class - $cat";
}
输出:
first - cat1
second - cat2
third - cat3
first - cat4
second - cat5
third - cat6
它也适用于 4 个类:
关于php - 仅在 3 个值之间循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39543319/