我正在尝试编写一个函数,以避免出现变量未定义错误。现在,我有这样的代码:
function check($str){
if(isset($str)){
$s = $str;
} else {
$s = "";
}
}
check($_GET['var']);
未设置get var。我在屏幕上收到一个不确定的可变错误。我如何更改我的函数以不引发此错误,而未设置则仅返回“”?我不想将100 if语句编码为避免变量未定义。谢谢。
答案 0 :(得分:0)
我们已经在PHP中使用了一种结构来进行检查。它称为isset()
。使用它可以检查变量是否存在。如果您要使用尚不存在的默认值创建它,我们也有它的语法。它是空值运算符。
$_GET['var'] = $_GET['var'] ?? '';
// or since PHP 7.4
$_GET['var'] ??= '';
答案 1 :(得分:-1)
尽管我不确定这样做是否正确,但是为了提供答案,您可以通过引用传递变量,这可以让您摆脱传递未定义的变量并检查是否已设置在函数内部。
function check(&$str){
if(!isset($str)){
$str = "not set";
}
}
check($_GET['var']);
echo $_GET['var'];