今天我创建了一个名为is_empty()
的函数。该函数类似于现有的empty()
函数 - 它增加了我的脚本所需的一些检查。
但是,现在当我运行脚本并且未设置某个值时,我收到:Notice: Undefined index
通知。默认的empty()
函数显示此通知,它假定值为空,是否有某种方法可以配置我的函数来执行相同的操作?而不是将isset()
与is_empty()
一起使用?
非常感谢!
编辑:我的功能在这里:
function is_empty($value, $integer = FALSE){
if($integer){
return empty($value) && !is_numeric($value);
}
return empty($value);
}
答案 0 :(得分:3)
通知并非来自您在功能中执行的某些检查。通知来自于向函数传递一些参数,即在函数体实际执行之前。因此,您无法通过以不同方式实现该功能来更改此功能。
答案 1 :(得分:1)
我会做这样的事情:
function is_empty($value, $integer = FALSE){
if (!empty($value)){
if($integer !== FALSE){
$return = preg_replace("/[^0-9]+/", "", $value);
return empty($value) && !is_numeric($value);
}
return empty($value);
}
return FALSE;
}
答案 2 :(得分:1)
这是我的is_empty函数版本
function is_empty(&$var)
{
return is_string($var) ? trim( $var ) == '' : empty($var);
}
解决方案是通过引用传递变量。
这是另一个样本:
custom function that uses isset() returning undefined variables when used
希望这会有所帮助。