Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php If-Else循环输出_Php_If Statement_Printing - Fatal编程技术网

Php If-Else循环输出

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

对于这个基本问题,我深表歉意,因为我是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 "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在任何方面都没有意义。我刚才解释了原因。请不要只发布代码作为答案,还要解释代码的作用以及它是如何解决问题的。有解释的答案通常更有帮助,质量更好,更容易吸引选民。我用代码解释,并加上注释,但你也对