默认的param php函数

时间:2013-06-11 12:15:12

标签: php function

我想修改函数中的第二个默认参数,但我不知道如何

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");

但它不起作用。

2 个答案:

答案 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但它还没有取得任何成功。