PHP - 使引用参数可选?

标签 php

假设我在 PHP 中定义了一个函数,最后一个参数是通过引用传递的。有什么办法可以让它成为可选的吗?如何判断它是否已设置?

我从来没有在 PHP 中使用过引用传递,所以下面可能会有一个愚蠢的错误,但这里有一个例子:

$foo;
function bar($var1,&$reference)
{
    if(isset($reference)) do_stuff();
    else return FALSE;
}

bar("variable");//reference is not set
bar("variable",$foo);//reference is set

最佳答案

取自 PHP official manual :

NULL可以作为默认值,但不能从外部传入

<?php

function foo(&$a = NULL) {
    if ($a === NULL) {
        echo "NULL\n";
    } else {
        echo "$a\n";
    }
}

foo(); // "NULL"

foo($uninitialized_var); // "NULL"

$var = "hello world";
foo($var); // "hello world"

foo(5); // Produces an error

foo(NULL); // Produces an error

?>

关于PHP - 使引用参数可选?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16636725/

相关文章:

php - ftp_get 损坏音频文件

php - 将表单输入与数据库值进行比较

php - 无法将用户添加到数据库,不匹配错误? '{"错误信息": ["HY093", 0]}'

php - 将PHP数组转换为JS数组(不写入内容)

php - 如何(或在哪里)使用 Zend Framework 2 的 EventManager?

php - 如何在php中添加用户角色

php - 使用 PHP 从 MySQL 添加日期变量

php - 浏览图像列表的最简单方法是什么?

php - MySQL INNER JOIN 在登录时使用 OR

javascript - PHP MySQL 表的日期范围过滤器