Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.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 exit()而不是break-inside开关_Php_Switch Statement - Fatal编程技术网

PHP exit()而不是break-inside开关

PHP exit()而不是break-inside开关,php,switch-statement,Php,Switch Statement,在交换机中,我在任何情况下都会重定向用户,删除break是否安全在这种情况下 switch ($action) { case "ActionA": header('Location: PageA.php'); exit(); break; case "ActionB": header('Location: PageB.php'); exit(); break; } 编辑:我之所以

在交换机中,我在任何情况下都会重定向用户,删除
break是否安全在这种情况下

switch ($action) 
{
    case "ActionA":
        header('Location: PageA.php');
        exit();
        break;

    case "ActionB":
        header('Location: PageB.php');
        exit();
        break;
}
编辑:我之所以要小心,是因为一个案例可以修改用户档案,另一个案例可以删除它。

因为
exit()终止程序执行。因此,在
exit()之后不会执行任何操作.So
break现在在这里是不必要的

您可以像下面这样直接访问:-

switch ($action) 
{
    case "ActionA":
        header('Location: PageA.php');
        exit();

    case "ActionB":
        header('Location: PageB.php');
        exit();
}

是的,它不需要并且可以安全地删除-您可以终止脚本,因此在
退出后将不再执行任何操作
将终止程序执行。因此
中断现在不需要了。如果你每次都要退出,为什么不把
exit()
放在
开关之后,而不是每次都重复它呢?@Qirel虽然在这种情况下这无关紧要,但为了纠正起见,我必须声明:退出后不一定会执行任何操作。A、an和all objects'将在
exit()
之后执行,我建议在每种情况下总是将
break
exit
,否则可能会发生奇怪的错误。(参见开关文档:关于省略
中断的部分)。如果你故意忽略了
中断
,重新思考你的策略,那么很容易意外地改变代码/含义/顺序,奇怪的事情就会发生。