如何在php中使用默认参数

liy*_*ysd 3 php default-value function-call

我想定义一个doSomething(arg1, arg2)默认值为arg1 = val和arg2 = val 的函数

当我写作

function doSomething($arg1="value1", $arg2="value2"){
 // do something
}
Run Code Online (Sandbox Code Playgroud)

现在是否可以使用默认的arg1和arg2 ="new_value2"调用doSomething

Bry*_* M. 8

有时如果我有很多带默认值的参数,我将使用一个数组来包含参数并将其与默认值合并.

public function doSomething($requiredArg, $optional = array())
{
   $defaults = array(
      'arg1' => 'default',
      'arg2' -> 'default'
   );

   $options = array_merge($defaults, $optional);
}
Run Code Online (Sandbox Code Playgroud)

如果你有很多论点,那真的才有意义.


Pek*_*ica 5

不幸的是,这是不可能的.如果定义$arg2,您还需要定义$arg1.