为什么此php代码返回13,而不是3?我真的很困惑

问题描述 投票:0回答:4

有人可以告诉我为什么此代码的答案是13吗?

$a=10;
$b=2;
$j=$a/2;
for ($i=0;$i<$j;$i++){
    if ($i % $b == 1) 
    echo "$i";
}

谢谢!

php for-loop echo return-value mod
4个回答
0
投票
$a=10;
$b=2;
$j=$a/2;  //which will be 5
for ($i=0;$i<$j;$i++){ //the loop executes 5 times 
    if ($i % $b == 1) // this condition satisfies when $i becomes 1 && 3
    echo "$i"; //1 and 3 will be printed.
}

检查用您的代码编写的注释


0
投票

您的代码就是这样,

echo 1; echo 3;

输出13


0
投票

我希望可以帮助您了解代码的工作原理。

$a=10;
$b=2;
$j=$a/2;
for ($i=0;$i<$j;$i++){
    if ($i % $b == 1)
    echo "output"; 
    echo "$i";
}

0
投票
  • 因为$ a具有10个值,$ b具有2个值,而$ j具有5个值

当启动循环然后$ i从0循环开始时,最多5个循环从0到4所以

  1. 然后首先开始循环,然后$ i有0值,所以$ i%将等于1则无显示
  2. 当开始第二个循环时,然后$ i有1值,然后$ i%将是等于1,所以显示1,因为现在$ i有1个值
  3. 当循环第三次运行时,然后$ i有2值,然后$ i%将是等于0,因此什么也不显示
  4. 当循环第四次运行时,然后$ i有3值,然后$ i%将是等于1 因此显示3,因为现在$ i具有3值
  5. [当循环第五次运行时,然后$ i有4值,然后$ i%将等于0,因此什么也不显示

    “;为($ i = 0; $ i“;}?>
© www.soinside.com 2019 - 2024. All rights reserved.