$i = 0;
while ($have_something) {
if($i == 0 || $i == 3 || $i == 6 || $i == 9) {
$color = 'black';
}
else {
$color = 'white';
}
$i++;
}
Run Code Online (Sandbox Code Playgroud)
当while循环中的项目计数是动态的并且变化规则时,此代码出现问题,当它可能有数百个项目时,这意味着该if语句将非常长.
如何克服这个问题,并"自动化"它,以便每个X项目都能发生一些事情,其余的事情没有硬编码$i计数?
使用模数运算符%:
$i = 0;
while ($have_something) {
if($i % 3 == 0 ) {
$color = 'black';
}
else {
$color = 'white';
}
$i++;
}
Run Code Online (Sandbox Code Playgroud)