我写了一个非常简单的函数,认为它只会输出它的参数:
function hurl($var,$default="")
{
if(isset($var) && !is_null($var) && gettype($var) != "object" && gettype($var) != "array")
return $var;
return $default;
}
这样你只需投掷($ _ POST ['variable']),如果POST变量不存在就不会产生错误。但我仍然得到一个错误,好像它试图引用一个不存在的值。
然后我在isset() documentation上阅读了一条通知:
注意:因为这是一种语言结构,而不是一种功能 无法使用变量函数调用。
这将我与Variable Functions联系起来:
变量函数不适用于语言结构,如echo, print,unset(),isset(),empty(),include,require等。 利用wrapper functions来使用任何这些结构 变量函数。
我该怎么做?有人可以写一个例子,或更简单的检查方法,而不必经常在页面上写isset()和is_null()吗?尝试使用catch语句以某种方式在这种情况下工作吗?
答案 0 :(得分:0)
您可以这样做:
function hurl($key, $value='') {
if (array_key_exists($key, $_POST)) {
if (!is_object($_POST[$key]) && !is_array($_POST[$key])) {
$value = $_POST[$key];
}
}
return $value
}