我想修改函数中的第二个默认参数,但我不知道如何
function test($a, $b = "b", $c = "c"){
echo $a." ".$b." ".$c;
}
test("a");
test("a","z","e");
test("a","z");
我希望例如使用此功能将$b
保留为默认值并更改$c
。
我试试
test("a",,"f");
但它不起作用。
答案 0 :(得分:0)
你可以尝试,
function test($a, $b = "b", $c = "c"){
echo $a." ".$b." ".$c;
}
function get_default_param($fn)
{
$function = new ReflectionFunction($fn);
$default=array();
foreach ($function->getParameters() as $param) {
if ($param->isOptional()) {
$default[]=$param->getDefaultValue() ;
}else{
$default[]='';
}
}
return $default;
}
$default=get_default_param('test');//for getting all default parameters of 'test' as an array
test("a",$default[1],"f");
<强>输出强>
a b f
答案 1 :(得分:0)
现在这在PHP中是不可能的。您必须手动传递默认值,如:
test("a", "b", "f"):
有一个关于此的RFC:https://wiki.php.net/rfc/skipparams但它还没有取得任何成功。