Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Can';是否将参数默认值设置为全局变量?_Php_Variables - Fatal编程技术网

Php Can';是否将参数默认值设置为全局变量?

Php Can';是否将参数默认值设置为全局变量?,php,variables,Php,Variables,为什么我不能那样做 function ($var1, $var2 = $GLOBALS['var']){ ... } 全局“var”是一个对象不能将变量用作默认值。 您可以使用以下选项: function ($var1, $var2 = null){ if(is_null($var2)) $var2=$GLOBALS['var']; ... } 函数的默认参数值必须是常量 您可以将其设置为一个伪值,尽管类似于null,然后在函数开始时替换该值 function ($v

为什么我不能那样做

function ($var1, $var2 = $GLOBALS['var']){
  ...
}

全局“var”是一个对象

不能将变量用作默认值。 您可以使用以下选项:

function ($var1, $var2 = null){
  if(is_null($var2))
      $var2=$GLOBALS['var'];
  ...
}

函数的默认参数值必须是常量

您可以将其设置为一个伪值,尽管类似于
null
,然后在函数开始时替换该值

function ($var1, $var2 = $GLOBALS['var']){
  if(is_null($var2))
      $var2=$GLOBALS['var'];
}
+1.在PHP文档中:“默认值必须是常量表达式,而不是(例如)变量、类成员或函数调用。”