我有一个PHP函数,当业务需求发生变化时,我被要求更新。原来的功能就像这样。
function myFunction($var1, $var2, $var3) {
CODE GOES HERE
}
对于新版本,需要第四个可选参数。我知道我可以这样做:
function myFunction($var1, $var2, $var3, $var4 = "") {
CODE GOES HERE
}
我创建了新代码并且工作正常。我刚刚被告知,当为最后一个参数传入一个值时,它需要是byref。我在这里搜索了PHP文档和问题,但是没有看到任何有关此问题的可能性。我认为代码可以这样工作:
function myFunction($var1, $var2, $var3, &$var4 = "") {
CODE GOES HERE
}
这会有用吗? PHP是否允许变量由ref传递,并且如果没有传入任何内容,还为其设置了默认值?
答案 0 :(得分:1)
是的,确实有效。
请点击此处ideone.com查看其实际效果。
<?php
function test(&$var = "test") {
echo $var;
}
test();
输出
test
然而,有一点需要注意。如果确实传递了参数,则它必须是对变量的引用。以下内容不起作用:
test("Testing");
因为"Testing"
是文字字符串,而不是可引用的变量。