有人能让我理解这个if if else PHP代码吗?

时间:2017-11-19 13:34:32

标签: php if-statement

我得到输出: “你的号码是49 你的号码是50 不可能“

但是为什么?if-else声明在这里说什么呢?前后增量如何在这里起作用?

<?php

$num = 49;

if($num % 2)
{
    echo "Your number is ";
    echo($num);
}
if($num++ % 3)
{
    echo "Your number is ";
    echo($num);
}
if(++$num % 3)
{
    echo "Your number is ";
    echo($num);
}

else
    echo "Not possible";

2 个答案:

答案 0 :(得分:4)

在php中,布尔表达式为true返回1,为false

返回0

所以在第一个if 49%2返回1以便块执行

第二个if也像第一个一样执行,然后num递增并变为50

在第3个if中,第一个num递增,然后计算51%3,返回0,以便执行else

答案 1 :(得分:1)

<?php

$num = 49; // num is 49

if($num % 2) // 49%2 = 1 so basically true
{
echo "Your number is ";
echo($num);  // print 49
}
if($num++ % 3) // (49++ = 50 % 3 = 2) post increment basically u r setting $num = $num+1
{
echo "Your number is ";
echo($num);   //print 50
}
if(++$num % 3) // pre increment (51%3 = 0) basically false 
{
echo "Your number is ";
echo($num);
}

else
echo "Not possible"; // so it show this