$x = 0;
for ($i = 0; $i < 100; $i++)
{
if ($x == 3) //better way to do this? in this example, determine every 3 times in a loop
{
//"do something"
$x = 0;
}
$x++;
正如你所看到的,我在循环中每3次做一次循环,但问题是,是否有一种更好,更简单的方法来确定它是否有时间在“做某事”循环?
答案 0 :(得分:5)
您可以使用模数:
if(($i % 3 == 0) && ($i > 0))
{
...
}
(不要忘记检查它是否优于0,否则它会在第一次迭代时进入if。
答案 1 :(得分:3)
您可以使用模数运算符%
来查看$ i是否可被3整除。这应该让你不能管理$ x
答案 2 :(得分:3)
不要使用$x
,只需检查if( $i > 0 && $i % 3 == 0)
即可。如果您想在第一次运行时发生某些事情,只需删除$i > 0 &&
部分。
答案 3 :(得分:2)
Fizzbuzz嗯?您将需要Modulo运算符 - %
if ((6 % 3) == 0) {
echo "is divisable by three";
}
答案 4 :(得分:2)
您可以使用modulus operator:
来避免使用$ x变量if ($i % 3 == 0 && i > 0){
// Do something
}
基本上这实现了相同的逻辑;每三次迭代,循环将运行您的额外代码。
答案 5 :(得分:0)
在$ i上使用模数:
for ($i = 0; $i < 100; $i++)
{
if($i % 3 == 0)
{
// do something
}
}
答案 6 :(得分:0)
for ($i = 0; $i < 100; $i++) {
{
if($i%3==0){
//Do Something
}
}
答案 7 :(得分:0)
在此代码中:
for ($i = 0; $i < 100; $i++)
{
if(($i%3==0) && $i>0)
{
//Do Something #first will be after 4 time
}
}
但是这一个:
for ($i = 1; $i <=100; $i++)
{
if($i%3==0)
{
//Do Something #even first will be after 3 time
}
}