【问题标题】:PHP function byref parameter with default valuePHP 函数 byref 参数与默认值
【发布时间】:2014-01-24 14:01:23
【问题描述】:

我有一个 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 传递变量,并且如果没有传入任何内容,也可以为其设置默认值?

【问题讨论】:

    标签: php function parameter-passing


    【解决方案1】:

    是的,它确实有效。

    查看ideone.com 以了解它的实际效果。

    <?php
    
    function test(&$var = "test") {
        echo $var;
    }
    
    test();
    

    输出

    test
    

    但是,有一个警告。如果您确实传递了一个参数,则它必须是对变量的引用。以下将不起作用:

    test("Testing");
    

    因为"Testing" 是文字字符串,而不是可引用变量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-20
      • 2011-04-09
      • 2012-06-14
      • 2012-02-03
      相关资源
      最近更新 更多