use*_*117 1 language-agnostic logic if-statement
if (Condition1)
{
dothis;
}
else if (Condition1)
{
dothat;
}
Run Code Online (Sandbox Code Playgroud)
出于好奇,当我调用相同的条件时,代码else if
的dothat
一部分是否仍会在Condition1
满足时执行?这是否从编程语言到编程语言各不相同?
不,第二个条件永远不会以任何语言执行.这是您逻辑的基本流程图.
但是,如果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.
你写的基本上相当于
if(Condition1)
{
dothis;
}
else
{
if(Condition1)
{
dothat;
}
}
Run Code Online (Sandbox Code Playgroud)
所以不,它永远不会被召唤.