如果“if”块无条件地以“die”命令结束,是否需要“else”块(因为如果该语句为真,则php脚本退出,如果为false,则else块将无论如何执行?
我正在处理在这种情况下具有“其他”阻止的东西,我想知道清理它是否会影响任何事情。
答案 0 :(得分:4)
无论你是否有die()
命令,都没有要求你拥有一个else块。
答案 1 :(得分:1)
请考虑以下代码:
if ($condition)
{
echo ("one");
die();
}
else
{
echo ("two");
}
echo ("three");
如果您的情况属实,它将回显“一”。如果你的情况是假的,它会回应“twothree”。
代码只有在达到时才会死亡,如果你的条件是假的,它将永远不会进入If括号,所以它不会死。
您不需要删除else中的代码,其中的代码将永远不会被执行。是的,代码将存在,但是不执行的代码不会影响性能。
答案 2 :(得分:1)
if ($condition)
{
echo ("one");
die();
}
else
{
echo ("two");
}
应:
if ($condition)
{
echo ("one");
die(); // or return
}
echo ("two");
眼睛更短,更容易并做同样的事情。当if
块终端(die
或return
)时,其他地方没有任何意义,因为这是正常的代码流。
答案 3 :(得分:0)
如果您正在做
,请添加到Mike的答案中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;
}
在迈克的回答之后写的