每个if语句之后的exit()点是什么?


What is the point of exit() after each if statement?

我见过一些php脚本在每个if语句之后都有exit()。例子:

if (empty($username)) {
   echo "error username is invalid";
  exit();
} else if (empty($password)) {
   echo "error password is invalid";
  exit();
} else {
  login($username, $password);
}
function login($u, $p)
{
   //do something here
   exit();
}

不,这绝对是对exit()的毫无意义的使用。如果你绝对需要,就把它放在脚本的末尾。像这样使用exit()只有在提供退出代码(在命令行应用程序中使用)时才有用。

它'工作'的脚本的目的,但绝对不是一个好方法退出脚本时,错误条件发生。它仍然会输出http状态码200。

exit在头文件重定位后或调试

时很方便。

可以将if语句放在函数中,并且可以对每种情况使用return。所以,你不需要使用else语句。例子。

<?php
function foo() {
    if ($cond1) {
        return $result1;
    }
    if ($cond2) {
        return $result2;
    }
    if ($cond3) {
        return $result3;
    }
    if ($cond4) {
        return $result4;
    }
}