这是我的代码:
shinyapp
现在,我想为function myfunc( $arg1, $arg2 = 'sth', $arg3 = 'sth else' ){
// do stuff
}
设置一个新值,并保留arg3
的默认定义值。我怎么能这样做?
这样的事情:
arg2
预期结果为this fiddle中的myfunc( true, <keep everything defined as default>, $arg3 = 'new value' );
。
答案 0 :(得分:3)
一个可能的替代方案是你的函数没有3个参数,但只有一个,一个数组:
function my_function(array $value = array()) {
// if set, use $value['key1']
// if set, use $value['key2']
// ...
}
并调用这个函数:
my_function(array(
'key1' => 'google',
'key2' => 'yahoo'
));
这将允许您:
希望它会有所帮助。