PHP 返回与空合并运算符的组合



我想知道是否可以退出函数,例如在 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('...');
// ...

相关内容

  • 没有找到相关文章

最新更新