有一个名为
skipparams的RFC,但它被拒绝了.
PHP没有语法糖,例如hello(1,,“param4”);也好你好(1,默认,默认,“param4”); (根据RFC)在调用函数时跳过可选参数.
如果这是你自己的函数,那么你可以选择将选项传递到插件中的常见jQuery样式,如下所示:
function hello( $param1, $more_params = [] )
{
static $default_params = [
'param2' => '2',
'param3' => '3',
'param4' => '4'
];
$more_params = array_merge( $default_params, $more_params );
}
现在你可以:
hello( 1, [ 'param4'=>'not 4, muahaha!' ] );
如果你的函数需要一些高级的东西,比如类型提示然后而不是array_merge(),你需要手动循环$more_params并强制执行类型.