Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 需要一个;否则";声明如果;如果;语句具有die命令_Php - Fatal编程技术网

Php 需要一个;否则";声明如果;如果;语句具有die命令

Php 需要一个;否则";声明如果;如果;语句具有die命令,php,Php,如果“If”块以“die”命令无条件结束,是否需要“else”块(因为如果该语句为true,则php脚本退出,如果为false,则将不考虑执行else块) 在这种情况下,我正在处理一个有“else”块的东西,我想知道清理它是否真的会影响任何事情。没有任何东西需要你有一个else块,不管你是否有die()命令与否。无论是否有die()命令,都不需要使用else块。考虑以下代码: if ($condition) { echo ("one"); die(); } else {

如果“If”块以“die”命令无条件结束,是否需要“else”块(因为如果该语句为true,则php脚本退出,如果为false,则将不考虑执行else块)


在这种情况下,我正在处理一个有“else”块的东西,我想知道清理它是否真的会影响任何事情。

没有任何东西需要你有一个else块,不管你是否有
die()
命令与否。

无论是否有
die()
命令,都不需要使用else块。

考虑以下代码:

if ($condition)
{
    echo ("one");
    die();
}
else
{
    echo ("two");
}

echo ("three");
如果你的情况是真的,它会回显“一”。如果您的条件为假,它将响应“Two-Three”

代码只有在达到时才会消亡,如果条件为false,它将永远不会进入if括号,因此不会消亡


您不需要删除else中的代码,其中的代码将永远不会执行。是的,代码将在那里,但未执行的代码不会影响性能。

考虑以下代码:

if ($condition)
{
    echo ("one");
    die();
}
else
{
    echo ("two");
}

echo ("three");
如果你的情况是真的,它会回显“一”。如果您的条件为假,它将响应“Two-Three”

代码只有在达到时才会消亡,如果条件为false,它将永远不会进入if括号,因此不会消亡


您不需要删除else中的代码,其中的代码将永远不会执行。是的,代码会在那里,但未执行的代码不会影响性能。

如果您正在执行,请添加到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;  
}
$destination=“东京”;
echo“前往$destination
”; 交换机($destination){ “拉斯维加斯”案: echo“多带500美元”; 打破 “阿姆斯特丹”案: 呼应“敞开心扉”; 打破 “埃及”案: echo“携带15瓶SPF50防晒霜”; 打破 “东京”案: 回声“带来很多钱”; 打破 案例“加勒比岛屿”: echo“带上泳衣”; 打破 }


写在Mike的答案之后

添加到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;  
}
$destination=“东京”;
echo“前往$destination
”; 交换机($destination){ “拉斯维加斯”案: echo“多带500美元”; 打破 “阿姆斯特丹”案: 呼应“敞开心扉”; 打破 “埃及”案: echo“携带15瓶SPF50防晒霜”; 打破 “东京”案: 回声“带来很多钱”; 打破 案例“加勒比岛屿”: echo“带上泳衣”; 打破 }

就在迈克回答之后写的

应该是

if ($condition)
{
    echo ("one");
    die(); // or return
}
echo ("two");
它比较短,眼睛更容易看并且做同样的事情。当
if
块是终端
die
return
)时,在else中没有意义,因为这是正常的代码流

应该是

if ($condition)
{
    echo ("one");
    die(); // or return
}
echo ("two");

它比较短,眼睛更容易看并且做同样的事情。当
如果
块是终端
die
return
)时,else中没有任何意义,因为这是正常的代码流。

在这种情况下,拥有
else
块没有问题(即不会出现任何错误),但是
else
块的内容将永远不会执行。因为它无论如何都不会被执行,所以删除
else
块绝对不会执行else块将执行的任何操作(除了清理代码);事实上,这似乎是多余的,因为它可以放在正常的程序流程中。哦,我明白你的意思了。是的,将
else
块的内容完全放在块的外部。在这种情况下,
else
块没有问题(即,不会出现任何错误),但是
else
块的内容将永远不会执行。因为它无论如何都不会被执行,所以删除
else
块绝对不会执行else块将执行的任何操作(除了清理代码);事实上,这似乎是多余的,因为它可以放在正常的程序流程中。哦,我明白你的意思了。是的,将
else
块的内容完全放在块之外。因此,您想知道是否可以安全地删除else块而不中断应用程序?如果不知道代码中有什么,很难说。如果您确信总是会触发If条件(在这种情况下,我想知道为什么会有If),那么请务必删除else,因为该代码路径永远不会被遵循。因此您想知道是否可以安全地删除else块而不中断应用程序?如果不知道代码中有什么,很难说。如果您确信If条件总是会被触发(在这种情况下,我想知道为什么会有If),那么请务必删除else,因为该代码路径永远不会被遵循。如果您删除了else块并生成了“echo(“two”);”作为正常流的一部分,它会改变任何东西吗?不,它不会改变任何东西,在这种情况下会有相同的结果。如果删除else块并生成“echo(“two”);”正常流动的一部分,它会改变什么吗?不,它不会改变任何东西,在这种情况下,它会有相同的结果。