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中国語ウェブサイトQ&A-PHPのオプションパラメータは必須パラメータの後に来る必要がありますか? -PHP中国語サイトQ&A
ぜひ見て学んでください。
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在概念层次上是渐进的,颠倒次序逻辑上不利于记忆,而config3. 调用方法就是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中国語ウェブサイトQ&A-PHPのオプションパラメータは必須パラメータの後に来る必要がありますか? -PHP中国語サイトQ&A
ぜひ見て学んでください。
实际上 $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);//错误