没有默认值的函数参数,是否需要检查是否已定义?

时间:2018-06-21 23:47:42

标签: php function parameters arguments

我有一个需要参数的函数。我的直觉告诉我,如果未设置此参数,则返回false,但是我必须这样做吗?

function myFun($important) {
    echo "PHP is way too kind";
}

myFun();
@myFun();

这会被回应吗?在Linux,Windows和某些不寻常的ini文件上?

比后悔要安全吗?

function myFun($important) {
    if(!$important) return false;
    echo "PHP is way too kind";
}

2 个答案:

答案 0 :(得分:1)

您可以说,此参数可以为空

function myFun($important = null) {
   if(is_null($important)) {
      echo "PHP is way too kind";      
   } else {
      echo $important;
     }
}

或者可能具有默认值

function myFun($important = "very important") {
   echo $important;
}

答案 1 :(得分:1)

https://3v4l.org/UHbMe

在PHP 7.1及更高版本中,PHP将引发错误。在PHP 7.0及更低版本中,该功能仍将运行,并且PHP仅会发出警告。

这就是未提供参数的情况。提供的参数仍然可以是虚假值,例如NULLfalse0'',而不会发出任何错误或警告。