Php If-Else循环输出
对于这个基本问题,我深表歉意,因为我是php的初学者Php If-Else循环输出,php,if-statement,printing,Php,If Statement,Printing,对于这个基本问题,我深表歉意,因为我是php的初学者 我本来希望执行else语句并打印“你好”,但它执行了elseif语句并打印了“2”。我可以问一下为什么$x被分配给2吗?提前感谢。您正在中设置x=2,如果-->如果($x=2),这将更合适。。检查绝对值==。。然后检查truthy==。。即 <?php $x = 1; if ($x == 2) print "hi" ; else if($x = 2) print $x; else print
我本来希望执行else语句并打印“你好”,但它执行了elseif语句并打印了“2”。我可以问一下为什么$x被分配给2吗?提前感谢。您正在中设置
x=2
,如果-->如果($x=2)
,这将更合适。。检查绝对值==
。。然后检查truthy==
。。即
<?php
$x = 1;
if ($x == 2)
print "hi" ;
else if($x = 2)
print $x;
else
print "how are u";
?>
相反地。。通过比较整数和字符串,您也可以使用truthy vs absolute。。比如:
<?php
$x = 1;
if ($x === 2)
print "hi" ;
else if($x == 2)
print $x;
else
print "how are u";
?>
这永远不会到达另一个。。但是,如果将数字2设定为$x,则可以在ELSEI中看到操作员如何创建或破坏程序。,该数字将始终返回true。正因为如此,它永远不会进入else街区。
进行比较时不要使用=,而是使用==或==
<?php
$x = 2;
if ($x === 2) // Will return true
print "Is absolute integer" ;
else if($x == 2) // Will return true
print "Is truthy integer";
else if($x === '2') // Will return false
print "Is absolute string";
else if($x == '2') // Will return true
print "Is truthy string";
else
print "how are u";
?>
这将分配2到$x,这与:
if ($x = 2)
if ($x)
由于$x现在包含数字2,这与:
if ($x = 2)
if ($x)
这总是正确的,因此无论数字是什么,它都不会进行进一步检查。这是因为=
是赋值运算符,而不是像=
那样的比较运算符。这就是为什么$x
被赋值为2,而else if条件被满足并执行的原因。您的回答否定了else if
的必要性,正如我在评论中所阐明的,elseif在任何方面都没有意义。我刚才解释了原因。请不要只发布代码作为答案,还要解释代码的作用以及它是如何解决问题的。有解释的答案通常更有帮助,质量更好,更容易吸引选民。我用代码解释,并加上注释,但你也对