1

可能重复:
如何在 PHP 中通过引用传递可变参数函数的参数?

我需要从 amethod或的参数中获取值function。我知道我可以做到这一点func_get_args()。但我真的需要通过引用来获取论点。有没有办法做到这一点?

我目前有这个:

<?php
class Test
{
    function someFunc ( $arg1, $arg2 )
    {
        print_r ( func_get_args() );
    }
}

$t = new Test();
$t->someFunc('a1', 'a2');
?>

在我的真实代码中,参数值被传递给另一个class->method(). 在那里我希望能够更改参数值。如果我可以将这些值作为参考,这将是可能的。

有解决方案吗?

4

2 回答 2

1

现在没有什么能阻止你..只要让它成为一个variable instead如果不是 PHP 就会返回Fatal error: Cannot pass parameter 1 by reference

class Test {

    function someFunc(&$arg1, &$arg2) {
        var_dump(func_get_args());

        $arg1 = strtoupper($arg1);
        $arg2 = strtoupper($arg2);
    }
}

echo "<pre>";

$arg1 = "a1";
$arg2 = "ar2";
$t = new Test();
$t->someFunc($arg1, $arg2);

var_dump($arg1, $arg2);

输出

array (size=2)
  0 => string 'a1' (length=2)
  1 => string 'ar2' (length=3)

string 'A1' (length=2) // modified
string 'AR2' (length=3) // modified
于 2013-01-03T09:20:27.490 回答
-1
    <?php
    class Test
    {
        function someFunc ( &$arg1, &$arg2)
        {
//    used the variable as per you want it....
        }
    }

    $t = new Test();
    $t->someFunc('a1', 'a2');
    ?>


    You have to add & to the arguement so that it can be used as reference...
于 2013-01-03T09:19:32.017 回答