84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
public function addHost($groupId, $nodeId = "node_0", $role = "master", $hostConfig) { //..... }
在我映象中一直都是必选参数定义在可选参数之前的,上面这段代码是在 lotusphp 中看到的源码,请问这样定义如何使用呢?
学习是最好的投资!
PHP中可選參數是不是必須在必選參數之後? -PHP中文網路問答-PHP中可選參數是不是必須在必選參數之後? -PHP中文網問答
圍觀一下哦,學習一下。
function test($a, $b = 3, $c = 4 ,$d) { echo $a.$b.$c.$d; } echo test(4, "", "", 9); //打印结果 //49 echo test(4, null, null, 9); //打印结果 //49
实际上 $b = 3, $c = 4 的默认值永远不会设置成功的。 如果第四个参数是必选参数,那么使用函数时必须有四个以上参数,此时默认参数无意义。
1. 你的印象不正确,必选参数和可选参数没有顺序的,不一定要把可选参数放在最后 2. lotusphp的addHost()方法设计成这样,主要是因为group, node, role在概念层次上是渐进的,颠倒次序逻辑上不利于记忆,而config 3. 调用方法就是addHost("global_group", , , array("host"=> "127.0.0.1")),更多调用方法请参见lotusphp/unittest/Db/RightWayToUse.php
楼上正解,php中不讲究默认参数的位置,但是调用的时候又不能隔开,如 function test($a,$b=3,$c=4 ,$d) { echo $a.$b.$c.$d; } echo test(1,2,3,5);//可以通过 echo test(1,,,5);//错误
PHP中可選參數是不是必須在必選參數之後? -PHP中文網路問答-PHP中可選參數是不是必須在必選參數之後? -PHP中文網問答
圍觀一下哦,學習一下。
实际上 $b = 3, $c = 4 的默认值永远不会设置成功的。
如果第四个参数是必选参数,那么使用函数时必须有四个以上参数,此时默认参数无意义。
1. 你的印象不正确,必选参数和可选参数没有顺序的,不一定要把可选参数放在最后
2. lotusphp的addHost()方法设计成这样,主要是因为group, node, role在概念层次上是渐进的,颠倒次序逻辑上不利于记忆,而config
3. 调用方法就是addHost("global_group", , , array("host"=> "127.0.0.1")),更多调用方法请参见lotusphp/unittest/Db/RightWayToUse.php
楼上正解,php中不讲究默认参数的位置,但是调用的时候又不能隔开,如
function test($a,$b=3,$c=4 ,$d)
{
echo $a.$b.$c.$d;
}
echo test(1,2,3,5);//可以通过
echo test(1,,,5);//错误