避免变量未定义的功能

时间:2019-10-10 16:49:52

标签: php function variables undefined

我正在尝试编写一个函数,以避免出现变量未定义错误。现在,我有这样的代码:

function check($str){
  if(isset($str)){
   $s = $str;
  } else {
   $s = "";
}
}

check($_GET['var']);

未设置get var。我在屏幕上收到一个不确定的可变错误。我如何更改我的函数以不引发此错误,而未设置则仅返回“”?我不想将100 if语句编码为避免变量未定义。谢谢。

2 个答案:

答案 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'];