我得到输出: “你的号码是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";
答案 0 :(得分:4)
在php中,布尔表达式为true
返回1,为false
所以在第一个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