如果“if”块以“die”命令无条件结束,是否需要“else”块(因为如果语句为真,则php脚本退出,如果为假,则无论如何都会执行else块)?
在这种情况下,我正在使用具有“其他”块的东西,我想知道清理它是否会真正影响任何事情。
如果“if”块以“die”命令无条件结束,是否需要“else”块(因为如果语句为真,则php脚本退出,如果为假,则无论如何都会执行else块)?
在这种情况下,我正在使用具有“其他”块的东西,我想知道清理它是否会真正影响任何事情。
无论您是否有die()
命令,都不需要您使用 else 块。
考虑以下代码:
if ($condition)
{
echo ("one");
die();
}
else
{
echo ("two");
}
echo ("three");
如果您的条件为真,它将回显“一”。如果您的条件为假,它将回显“twothree”。
代码只有在达到时才会死,如果你的条件是假的,它永远不会进入 If 括号,所以它不会死。
你不需要删除else里面的代码,里面的代码永远不会被执行。是的,代码会在那里,但不执行的代码不会影响性能。
if ($condition)
{
echo ("one");
die();
}
else
{
echo ("two");
}
应该是:
if ($condition)
{
echo ("one");
die(); // or return
}
echo ("two");
它更短,更容易在眼睛上做同样的事情。当一个if
块是终端(die
或return
)时,在 else 中没有意义,因为这是正常的代码流。
添加到迈克的答案,如果你正在做
if ($myVar = 1) {
// do something
die();
}
if($myVar = 2){
// do something
die();
}
做一个开关可能会更好:
$destination = "Tokyo";
echo "Traveling to $destination<br />";
switch ($destination){
case "Las Vegas":
echo "Bring an extra $500";
break;
case "Amsterdam":
echo "Bring an open mind";
break;
case "Egypt":
echo "Bring 15 bottles of SPF 50 Sunscreen";
break;
case "Tokyo":
echo "Bring lots of money";
break;
case "Caribbean Islands":
echo "Bring a swimsuit";
break;
}
在迈克的回答之后写的