自定义empty()函数

时间:2013-04-08 22:00:56

标签: php function isset

今天我创建了一个名为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);
}

3 个答案:

答案 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

希望这会有所帮助。