-1

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

3 回答 3

3

该通知并非来自您在函数内部执行的某些检查。该通知来自将一些参数传递给您的函数,即在函数体实际执行之前。因此,您无法通过以不同方式实现该功能来改变这一点。

于 2013-04-08T22:04:45.657 回答
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;
    }
于 2013-04-08T22:07:24.650 回答
1

这是我的 is_empty 函数版本

function is_empty(&$var)
{
    return is_string($var) ? trim( $var ) == '' : empty($var);
}

解决方案是通过引用传递变量。

这是另一个这样的示例:

使用 isset() 的自定义函数在使用时返回未定义的变量

希望这会有所帮助。

于 2015-06-01T15:50:28.477 回答