有一个简短的方法可以写if(!is_null($foo) && !is_null($bar))?

  • 本文关键字:null is foo bar 方法 有一个 if php
  • 更新时间 :
  • 英文 :


所以,我正在编写一个接收两个参数的函数,在对这些变量做任何事情之前,我想检查它们是否不为空。

if (!is_null($foo) && !is_null($bar)) {
    /* do something */
}

问题是我认为我们正在重复代码,在某些情况下,当变量名有点大时,每次都变得痛苦。

那么,有没有办法缩短这段代码呢?

您可以使用 isset 如果变量为 null,则返回 FALSE。您可以在那里设置很多变量,以便代码更短:

if (isset($foo, $bar))

您可以编写自己的函数来检查这一点:

function is_any_null() {
    $params = func_get_args();
    foreach($params as $param) {
        if (is_null($param))
            return true;
    }
    return false;
}

现在你可以像这样使用它:

if (!is_any_null($foo, $bar)) {
    /* do something */
}

is_null()检查变量以确定该值是否NULL。它可以用于if statement。这取决于你想在那个if statement做什么。例如,如果你想做一个echo,你可以使用"elvis"'运算符让它更短一点:

echo (is_null($foo) && is_null($bar)) ?: 'The values are not null';

或者,您可以通过将{}从代码中保留并将所有内容放在一行中来使其成为一行。

if (!is_null($foo) && !is_null($bar)) die("NULLLLL");

相关内容

最新更新