[英]Custom function to check if variables in array are set
我想做的是编写一个函数以重用,而不是每次都编写一个if语句。
如果声明:
if (!isset($value)){ echo 'null';}else{ echo $value;}
功能:
function isSetTest($value){
if ( !isset($value)){
$value = NULL;
}
return $value;
}
echo'name'.isSetTest($value);
函数有效,但是我仍然收到“ undefined”错误消息,这是我要避免的错误消息。
而是通过引用传递,以便在您需要变量之前不对其进行任何处理:
function isSetTest(&$value) { // note the &
if (!isset($value)) {
$value = NULL;
}
return $value;
}
您可以将其缩短一点:
function isSetTest(&$value) {
return isset($value) ? $value : null;
}
我有一个功能类似的函数,除了在未设置变量的情况下可以提供可选的默认值之外:
function isset_or(&$value, $default = null) {
return isset($value) ? $value : $default;
}
代码中的问题是,您仍然将未定义的变量传递给函数,因此这就是为什么仍会收到未定义的错误的原因。
现在解决此问题的一种方法是,将变量名作为字符串传递,然后使用变量variable来检查其是否存在,例如
function isSetTest($value){
global $$value;
if ( !isset($$value)){
$$value = NULL;
}
return $$value;
}
echo'name'.isSetTest("value");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.