基本if..elseif ... PHP中的其他问题

时间:2011-06-20 22:11:01

标签: php

对不起,这是关于PHP条件的一个非常基本的问题

If {}
elseif {}
else {}

如果if条件成立,PHP是否仍会评估elseif以查看是否也是如此?

8 个答案:

答案 0 :(得分:15)

没有。 (基本问题的基本答案)

你可以在PHP手册中深入阅读:elseif/else if,第一个例子和你的一样。

答案 1 :(得分:11)

不,它不会。它只会执行if代码,然后在else之后继续。

为了看到它,你可以检查一下:

if (true)
{
  echo "foo inside if"
}
else if (true)
{
  echo "foo inside else if"
}
else 
{
   echo "foo inside else";
}

echo "\nfoo after else"

上面的代码将打印出来:

   foo inside if
   foo after else

而不是

   foo inside if
   foo inside else if
   foo after else

答案 2 :(得分:5)

都能跟得上!一旦在if / else块中的任何地方满足条件,PHP退出该块并继续前进。例如,在此代码中:

if ($a <= 3) {
  echo "small";
}
elseif ($a <= 6) {
  echo "medium";
}
else {
  echo "large";
}

...如果$a为2,它会回显“小”,因为$a是&lt; = 3,但不是“中”,即使{{ 1}}也是&lt; = 6。

如果您 希望PHP检查后续条件,那么您将使用多个if语句。例如:

$a

...如果if ($b < 4) { echo "less than 4"; } if ($b < 8) { echo "less than 8"; } 为3,则会回显“小于4”和“小于8”。

答案 3 :(得分:4)

正如其他人已经提到的那样,不,它甚至不会测试elseif条件。这对于以下情况也很重要:

$a = 1;

if ($a > 0) { }

else if (++$a > 0) { } // note the increment operator

else { }

echo $a; // produces 1

任何将值修改为条件测试副产品的表达式都不会触发。

答案 4 :(得分:3)

如果第一个if为真,则代码将进入if,然后执行其中的代码。然后它将退出else并继续。

答案 5 :(得分:2)

不,它不会。执行if代码后,它将继续执行else。

答案 6 :(得分:2)

不是这样的。一旦在if查询中满足您指定的条件,php将停止继续该过程,并将继续if if查询结束后出现的代码。

答案 7 :(得分:1)

不,如果if条件的语句变为true,则不会执行else 这是所有语言中if-else-if-else块的一般事实

$a=1;
if($a==1){
echo "inside if";
}else if($a==2){
echo "inside else if";
}else{
echo "inside else";
}

它的输出如下: 在里面如果 当a的值为1时,如果并且阻塞

,则不会执行其他操作

希望它能帮助!!!!