【发布时间】:2011-08-17 17:25:34
【问题描述】:
即使使用 'isset' 我也会得到这个:
Notice: Undefined index
它在以下位置给出错误:
returnifisset($_COOKIE["miceusername"], ' value="', '"');
即使我正在检查 cookie 是否设置。功能是:
function returnifisset($variable, $first = '', $last = ''){
if(isset($variable) and !empty($variable)){ return $first.$variable.$last; }
}
我应该如何修改这个函数以使其工作而不出现错误!
【问题讨论】:
-
在函数内部之前,您不会使用 isset。 PHP 在函数处理变量之前查看 cookie 和索引。这就是您的错误的来源。
-
您需要执行
printifisset(isset($COOKIE["miceusername"], ' value="', '"');),这完全违背了使用该功能的目的。我的建议是完全跳过该功能,因为它是不必要的,而且如果有的话,您从完整输入中获得的节省是微乎其微的。 -
好的,谢谢,我试试看
-
@Ameer 用代码替换函数。而不是调用
returnifisset替换函数中的代码。另外,只是为了确保您知道:从returnifisset调用 return 不会返回调用上下文的值。如果需要,您必须使用return returnifsset('...','...','...');。 -
@Jrod 它是这样工作的,但为什么呢?为什么这样?为什么不用函数呢?