PHP:返回对数组元素的引用

Posted

技术标签:

【中文标题】PHP:返回对数组元素的引用【英文标题】:PHP: Return a reference to an array element 【发布时间】:2014-05-23 23:19:13 【问题描述】:

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);

【问题讨论】:

php.net/manual/en/language.references.pass.php 如果您不是手册的朋友,请阅读这个相当不错的 SO 答案***.com/questions/2030906/… 查看此文档:php.net/manual/en/language.references.arent.php 【参考方案1】:

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

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);

【讨论】:

以上是关于PHP:返回对数组元素的引用的主要内容,如果未能解决你的问题,请参考以下文章

取消设置 php 参考

通过引用返回指针数组

Array.find 方法是不是返回给定数组的匹配元素形式的副本或引用? [关闭]

php数组指针

php 怎样从一个数组中取出所有元素

javascript对象