首页 > 解决方案 > PHP 返回或继续为空

问题描述

是否可以在 PHP 中用单行编写这样的内容:

return $this->checkToken() ?? continue;

所以它会返回值,但如果返回 null 它将继续程序。我知道您可以捕获该值,然后执行 if value !null 返回。

想知道是否有可以使用的单行版本。

标签: php

解决方案


一旦你用 开始一个表达式return,你就承诺返回一些东西

您可以做的是内联赋值并检查,因为赋值表达式的结果是赋值。

if (($token = $this->checkToken()) !== null) return $token;
echo 'If $token is null, this line will execute';

这与您将获得的单行代码差不多。为了可读性/可维护性,我仍然会使用以下内容

$token = $this->checkToken();
if ($token !== null) {
    return $token;
}
// and so on

推荐阅读