在检查空变量时防止出现未定义的变量错误


Prevent undefined variable error when checking for empty variable

我有下面的函数,它检查两个变量中是否有值,然后将它们相加,或者告诉您是否没有值。它实际上工作得很好,但当我将未定义的变量留空时,它也会返回警告。有人能解释为什么会这样吗?我该如何纠正?

我搜索过,但也许是因为我对这个主题缺乏一般知识,我无法有效地搜索。

function add_up($first, $second){
  if($first == "" and $second == ""){
    return 'No numbers';}
  else {
    return $first + $second;
  }
}
echo add_up();

为了将函数参数指定为可选参数,必须为其定义一个默认值:

function add_up($first = '', $second = ''){
  if($first == "" and $second == ""){
    return 'No numbers';}
  else {
    return $first + $second;
  }
}
echo add_up();

该警告表示两个参数都是必需的(因为它们没有定义默认值),这意味着必须使用两个参数调用函数。

您可能正在寻找这样的东西:

function add_up($first, $second){
  if(!isset($first, $second)){
    return 'No numbers bitch';}
  else {
    return $first + $second;
  }
}
echo add_up();