如果“if”语句具有die命令,则需要“else”语句

时间:2013-07-02 17:52:02

标签: php

如果“if”块无条件地以“die”命令结束,是否需要“else”块(因为如果该语句为真,则php脚本退出,如果为false,则else块将无论如何执行?

我正在处理在这种情况下具有“其他”阻止的东西,我想知道清理它是否会影响任何事情。

4 个答案:

答案 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终端diereturn)时,其他地方没有任何意义,因为这是正常的代码流。

答案 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;  
}

stolen from Tizag

在迈克的回答之后写的