Else-If具有相同条件

use*_*117 1 language-agnostic logic if-statement

if (Condition1)
{
    dothis;
}
else if (Condition1)
{
    dothat;
}
Run Code Online (Sandbox Code Playgroud)

出于好奇,当我调用相同的条件时,代码else ifdothat一部分是否仍会在Condition1满足时执行?这是否从编程语言到编程语言各不相同?

Dr.*_*Kay 8

不,第二个条件永远不会以任何语言执行.这是您逻辑的基本流程图.

但是,如果Condition1以某种方式评估false在第一个条件和true第二个条件,那么第二个将被调用.例:

<?php
$var = true;
function condition() {
    global $var;
    $var = !$var;
    return $var;
}

if(condition()) {
    echo "Conditional 1";
} elseif(condition()) {
    echo "Conditional 2";
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,将打印"条件2",因为condition()首先计算为false,然后为true.


Bra*_*don 8

你写的基本上相当于

if(Condition1)
{
  dothis;
}
else
{
  if(Condition1)
  {
    dothat;
  }
}
Run Code Online (Sandbox Code Playgroud)

所以不,它永远不会被召唤.