php - 函数中的可变长度引用参数列表

标签 php pass-by-reference argument-passing variadic-functions

在 PHP 中你可以这样做:

function something() {
  foreach (func_get_args() as $arg)
    echo $arg;
}
something(1, 3); //echoes "13"

这对于按值传递的参数来说效果很好,但是如果我希望它们按引用传递怎么办?像这样:

function something_else() {
  foreach (func_get_args() as $arg)
    $arg *= 2;
}
$a = 1;
$b = 3;
something_else($a, $b);
echo $a . $b; //should echo "26", but returns "13" when I try it

这在 PHP 中可行吗?

最佳答案

这个问题看起来很可怕,但让我们幽默一下。下面是一个可怕的 hack,但您可以发送一个参数,其中包含您要使用的项目。

function something_else($args) {
    foreach ($args as &$arg) {
        $arg *= 2;
    }
}
$a = 1;
$b = 3;
something_else(array(&$a, &$b));
echo $a . $b; // 26

关于php - 函数中的可变长度引用参数列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7680003/

相关文章:

php - 从 MySQL 获取 PHP 值,如果没有记录 - 插入它

php - 使用 Symfony 和 Doctrine 按月和年检索项目

c++ - 尝试使用模板函数交换两个字符串

c++ - 具有传递引用对象的类会产生编译错误

c++ - std::for_each 是按值传递还是按引用传递?

php - 在 .js 文件中执行 PHP 代码

c++ - 如果大小未知,如何通过引用将一维数组作为参数传递?

python - 静态方法作为类方法的默认参数

C++ 将指向临时对象(在堆上)的指针传递给函数的方法?

php - Mysql + PHP for "Wilson Score Interval"with time gravity