这是我一直在用的东西。函数定义接受一个可选的数组参数,该参数指定可选的命名参数:
function func($arg, $options = Array()) {
$defaults = Array('foo' => 1.0,
'bar' => FALSE);
$options = array_merge($default, $options);
// Normal function body here. Use $options['foo'] and
// $options['bar'] to fetch named parameter values.
...
}
通常可以在不使用任何命名参数的情况下调用:
func("xyzzy")
要指定可选的命名参数,请将其传入可选数组:
func("xyzzy", Array('foo' => 5.7))