这个(isset()&&!empty())函数是否多余?

时间:2018-09-22 14:54:58

标签: php function

<?php
function isset_n_empty($var) {
    if (isset($var) && !empty($var)){
        return true;
    }
    return false;
}
echo isset_n_empty($x ?? null);

?>

我的函数应该执行简单的if (isset() && !empty())逻辑,而我使用了$x ?? null,因为如果不使用它,则会出现未定义变量的错误,例如

E_NOTICE : type 8 -- Undefined variable: x -- at line z

是多余的还是经过优化的?

4 个答案:

答案 0 :(得分:0)

empty()认为未设置的变量为空。

因此,如果未设置变量,则该变量也为空。

您的代码可以通过以下方式缩短:

echo !empty($x);

我想这可以回答您的问题yes

答案 1 :(得分:0)

是,isset是多余的。如果它是!empty(),则isset()始终返回true。

答案 2 :(得分:0)

否,该功能不是多余的。它告诉您是否设置了变量,但也设置为false。没问题。

另一方面,似乎不该真正需要它自己的功能的东西。代替:

echo isset_n_empty($x ?? null);

您可以这样做:

echo isset($x) && !$x;

代码更少,不需要功能。

答案 3 :(得分:0)

我希望这会有所帮助:

function isset_not_empty($var){
    if(!isset($var))
        return false;
    else
         return (!empty($var))

 }