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

Mar*_*ark 0 php

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

If {}
elseif {}
else {}
Run Code Online (Sandbox Code Playgroud)

如果if条件成立,那么PHP仍然会评估它elseif是否也是真的吗?

hak*_*kre 15

不.(基本问题的基本答案)

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

  • 像这样的简单答案不能得+13 lol xd (4认同)

ins*_*ity 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"
Run Code Online (Sandbox Code Playgroud)

上面的代码将打印:

   foo inside if
   foo after else
Run Code Online (Sandbox Code Playgroud)

并不是

   foo inside if
   foo inside else if
   foo after else
Run Code Online (Sandbox Code Playgroud)


Tim*_*nti 5

不!一旦在if/else块中的任何地方满足条件,PHP退出该块并继续.例如,在此代码中:

if ($a <= 3) {
  echo "small";
}
elseif ($a <= 6) {
  echo "medium";
}
else {
  echo "large";
}
Run Code Online (Sandbox Code Playgroud)

...如果$a是2,它将回显"小",因为$a<= 3,但不是 "中",即使$a也是<= 6.

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

if ($b < 4) {
  echo "less than 4";
}
if ($b < 8) {
  echo "less than 8";
}
Run Code Online (Sandbox Code Playgroud)

...如果$b是3,则会回应"小于4"和"小于8" .