如何在php中创建可选参数?

时间:2020-03-05 18:45:07  来源:igfitidea点击:

在PHP手册中,为了显示带有可选参数的函数的语法,它们在每组相关的可选参数周围使用方括号。例如,对于date()函数,该手册的内容如下:

string date ( string $format [, int $timestamp = time() ] )

其中$ timestamp是一个可选参数,当留空时,它默认为time()函数的返回值。

在PHP中定义自定义函数时,如何创建这样的可选参数?

解决方案

回答

与手册非常相似,在参数定义中使用等号(=):

function dosomething($var1, $var2, $var3 = 'somevalue'){
    // Rest of function here...
}

回答

给可选参数一个默认值。

function date ($format, $timestamp='') {
}

回答

我也发现有用的一些注意事项:

  • 将默认值保留在右侧。
function whatever($var1, $var2, $var3="constant", $var4="another")
  • 参数的默认值必须是一个常量表达式。它不能是变量或者函数调用。

回答

The default value of the argument must be a constant expression. It can't be a variable or a function call.

但是,如果需要此功能:

function foo($foo, $bar = false)
{
    if(!$bar)
    {
        $bar = $foo;
    }
}

假设$ bar当然不是布尔值。