在每个 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;
}
}
我见过一些 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;
}
}