【发布时间】:2013-09-13 10:01:01
【问题描述】:
我写了一个非常简单的函数,认为它只会输出它的参数,如果它存在:
function hurl($var,$default="")
{
if(isset($var) && !is_null($var) && gettype($var) != "object" && gettype($var) != "array")
return $var;
return $default;
}
这样你可以简单地 hurl($_POST['variable']) 并且如果 POST 变量不存在它不会产生错误。但我仍然得到一个错误,好像它试图引用一个不存在的值。
然后我看了isset() documentation上的通知:
注意:因为这是一个语言结构而不是一个函数,所以它 不能使用变量函数调用。
这将我链接到Variable Functions,内容如下:
变量函数不适用于 echo 等语言结构, print、unset()、isset()、empty()、include、require 等。 利用wrapper functions 将这些构造中的任何一个用作 变量函数。
我该怎么做?有人可以写一个例子,或者一个更简单的检查方法,而不必在整个页面上不断地写 isset() 和 is_null() 吗? try catch 语句会以某种方式在这种情况下起作用吗?
【问题讨论】: