通过自定义PHP函数有条件地输出变量
我编写了一个非常简单的函数,认为它只有在参数存在时才会输出参数:通过自定义PHP函数有条件地输出变量,php,function,wrapper,Php,Function,Wrapper,我编写了一个非常简单的函数,认为它只有在参数存在时才会输出参数: function hurl($var,$default="") { if(isset($var) && !is_null($var) && gettype($var) != "object" && gettype($var) != "array") return $var; return $default; } 这样,您可以简单地抛出($
function hurl($var,$default="")
{
if(isset($var) && !is_null($var) && gettype($var) != "object" && gettype($var) != "array")
return $var;
return $default;
}
这样,您可以简单地抛出($_POST['variable']),如果POST变量不存在,它不会生成错误。但我仍然得到一个错误,好像它试图引用一个不存在的值
然后,我看到了一则关于:
注意:因为这是一个语言构造而不是函数,所以
无法使用变量函数调用
这将我与以下内容联系起来:
变量函数不能与echo等语言结构一起使用,
print、unset()、isset()、empty()、include、require等。
利用这些构造中的任何一个作为
变量函数
我该怎么做?是否有人可以编写一个示例,或者一个更简单的检查方法,而不必不断地编写isset()和is_null()?try-catch语句在这种情况下会起作用吗?您可以这样做:
function hurl($key, $value='') {
if (array_key_exists($key, $_POST)) {
if (!is_object($_POST[$key]) && !is_array($_POST[$key])) {
$value = $_POST[$key];
}
}
return $value
}
我也考虑过这个解决方案,但不知道约翰逊是否想要所有类型变量的解决方案。