PHP 是否有不短路的布尔运算符?



在PHP中,是否可以将多个语句与一个布尔运算符组合,该运算符等效于&但不会短路吗?

我想实现的是,我可以调用几个函数,如果所有这些函数都返回true,则返回true,如果其中任何一个函数失败,则返回false,但仍然调用所有函数

我想做的是:

return do_something() __ do_something_else() __ fetch_coffee();
^^ magic operator goes ^^ and here

我目前正在做的是:

$r1 = do_something();
$r2 = do_something_else();
$r3 = fetch_coffee();
return $r1 && $r2 && $r3;

或者这个:

$r = true;
$r = do_something() && $r;
$r = do_something_else() && $r;
$r = fetch_coffee() && $r;
return $r;

这两种方法都应该有效,但它们感觉有点笨拙。我想知道:有没有其他方法可以以一种好看可读的方式做到这一点?

为了使函数更加清晰,我只使用变量命名更清晰的第一个版本。。。

$somethingOK = do_something();
$somethingElseOK = do_something_else();
$coffeeOK = fetch_coffee();
return $somethingOK && $somethingElseOK && $coffeeOK;

最新更新