PHP:返回数组元素的引用

10

在PHP中,有没有一种方法可以返回数组中元素的引用?

function ref(&$array, &$ref) { $ref = $array[1]; }
$array = array(00, 11, 22, 33, 44, 55, 66, 77, 88, 99);
ref($array, $ref);
$ref = 'xxxxxxxxxx';
var_dump($ref);
var_dump($array);

我希望 $array 将会按照以下代码进行更改:

$array = array(00, 11, 22, 33, 44, 55, 66, 77, 88, 99);
$ref = &$array[1];
$ref = 'xxxxxxxxxx';
var_dump($ref);
var_dump($array);

http://www.php.net/manual/en/language.references.pass.php - Andresch Serj
如果您不喜欢手册,可以阅读这个非常好的SO答案https://dev59.com/8HI-5IYBdhLWcg3wED9V。 - Andresch Serj
1
请查看此文档:http://www.php.net/manual/zh/language.references.arent.php - Barmar
1个回答

26

我找到了两种返回数组元素引用的方法:

1. 使用引用返回和=&

    function & ref(&$array)
    {
            return $array[1];
    }

    $array = array(00, 11, 22, 33, 44, 55, 66, 77, 88, 99);
    $ref =& ref($array);
    $ref = 'xxxxxxxxx';
    var_dump($ref);
    var_dump($array);

2. 将参考文献放入数组中

    function ref(&$array, &$ref = array())
    {
            $ref = array();
            $ref[] = &$array[1];
    }

    $array = array(00, 11, 22, 33, 44, 55, 66, 77, 88, 99);
    ref($array, $ref);
    $ref[0] = 'xxxxxxxxx';
    var_dump($ref);
    var_dump($array);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接