我只想修改函数中的第二个默认参数,但我不知道如何
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");
但它不起作用。
你可以试试 ,
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
这在现在的 PHP 中是不可能的。您必须手动传递默认值,例如:
test("a", "b", "f"):
有一个关于此的 RFC:https ://wiki.php.net/rfc/skipparams但它还没有取得任何成功。