没有引用的PHP副本数组

时间:2017-02-19 19:25:29

标签: php arrays reference copy clone

当我使用引用复制PHP数组时,copy已经有来自原始

的引用
$arr = [1,2,3];
print_r($arr); echo"<br>";    
$x = &$arr[1];
$arr2 = $arr;
print_r($arr); print_r($arr2); echo"<br>";
$x = 8;
print_r($arr); print_r($arr2); echo"<br>";

结果:

Array ( [0] => 1 [1] => 2 [2] => 3 ) 
Array ( [0] => 1 [1] => 2 [2] => 3 ) Array ( [0] => 1 [1] => 2 [2] => 3 ) 
Array ( [0] => 1 [1] => 8 [2] => 3 ) Array ( [0] => 1 [1] => 8 [2] => 3 ) 

如何复制数组,因此原始引用没有更改?

Array ( [0] => 1 [1] => 2 [2] => 3 ) 
Array ( [0] => 1 [1] => 2 [2] => 3 ) Array ( [0] => 1 [1] => 2 [2] => 3 ) 
Array ( [0] => 1 [1] => 8 [2] => 3 ) Array ( [0] => 1 [1] => 2 [2] => 3 )

1 个答案:

答案 0 :(得分:0)

如果您在问题的第一条评论中使用重复链接解决了您的问题(当我写这篇文章时,其他4位支持)。请删除您的问题,以便SO可以减少重复的问题/不必要的臃肿。

否则,只需声明原始数组的静态副本以供将来使用。

<input />