我想知道是否可以退出函数,例如在 PHP 中空合并运算符的第二条语句中返回。
我想使用它来检查函数中的一些 POST 数据,如果未设置 POST var,则退出函数。
这将是干净的代码,没有痛苦的if(isset(...((。
示例脚本文件:
<?php
// Controller
$id = $_POST['id'] ?? add();
function add(){
$var1 = $_POST['var1'] ?? return; // <-- is this possible or some similar solution?
$var2 = $_POST['var2'] ?? return;
// All POST vars are set: do something
// ...
}
不,这是不可能的。下面的代码可能不是您最初想要的单行解决方案,但仍短于:
我必须写 if(isset(_POST['var1']( { $var 1 = _POST['var1']; } .所以我总是要引用两次_POST['var1']:一次用于求值,一次用于在函数中设置变量以进行进一步处理。
function add() {
if (!$var1 = $_POST['var1'] ?? null) {
return;
}
// $var1 declared and has value here
}
你也可以抛出这样的异常:
// ...
$var1 = $_POST['var1'] ?? throw new Exception('...');
// ...