在每个 if 语句之后使用 exit() 是否明智?

Is it wise to use 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() 仅当您提供 exit code(用于命令行应用程序)时才有用。

它 'works' 用于脚本目的,但绝对不是出现错误情况时退出脚本的好方法。它仍然会输出http状态码200。

在 header 重定位后或调试时退出

很方便

您可以将 if 语句放在函数中,并且可以在每种情况下使用 return。因此,您不需要使用 else 语句。 例子.

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