<?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
是多余的还是经过优化的?
答案 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))
}