繁体   English   中英

PHP函数byref参数具有默认值

[英]PHP function byref parameter with default value

我有一个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传递,并且如果未传递任何内容,是否也为其设置了默认值?

是的,它确实有效。

请在ideone.com上查看以了解实际效果。

<?php

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

test();

输出

test

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

test("Testing");

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM