在许多语言中,我可以执行以下操作:
function f(a = 0, b = 0, c = 0)
{
// Do something
}
f(b=3, c=4);
我可以在PHP中做类似的事情吗?
确实非常感谢您!
不,不幸的是,您不能在PHP中“跳过”参数,因此默认值只能在列表的末尾使用。
所以你可以这样写:
function foo($a=0, $b=0) {}
foo(42);
由于我们提供了一个值作为输入,因此这里$b
将具有其默认值,但$a
没有默认值。
但是,$b
如果不同时提供一个值,就无法提供一个值$a
-我们必须将value$b
作为第二个参数提供,PHP没有关键字可以代替第一个参数来表示“使用默认值”。
谈论将命名参数添加到PHP的未来版本中,类似于您的非PHP示例。
不过,您可以通过对代码进行一些更改来模拟这一点。一些想法:
null
的意思是“使用默认值”,并写$a = is_null($a) ? 42 : $a
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句