首页 > 开发 > php > 正文

PHP中可选参数是不是必须在必选参数之后?

2017-09-06 15:07:31  来源:网友分享
public function addHost($groupId, $nodeId = "node_0", $role = "master", $hostConfig){    //.....}

在我映象中一直都是必选参数定义在可选参数之前的,上面这段代码是在 lotusphp 中看到的源码,请问这样定义如何使用呢?

解决方案

function test($a, $b = 3, $c = 4 ,$d) {    echo $a.$b.$c.$d;}echo test(4, "", "", 9);//打印结果//49echo test(4, null, null, 9);//打印结果//49

实际上 $b = 3, $c = 4 的默认值永远不会设置成功的。
如果第四个参数是必选参数,那么使用函数时必须有四个以上参数,此时默认参数无意义。