Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无引用的PHP复制数组_Php_Arrays_Reference_Copy_Clone - Fatal编程技术网

无引用的PHP复制数组

无引用的PHP复制数组,php,arrays,reference,copy,clone,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>"; 如何复制数组,使其与原始引用保持一致 Arra

当我复制带有引用的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] => 2 [2] => 3 )

如果您的问题通过问题的第一条评论中的重复链接得到了解决(在我写这篇文章时,有4个其他人支持)。请删除您的问题,以便减少重复问题/不必要的膨胀

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

$arr = [1,2,3];
$copy=$arr;  // preserve the original
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($copy); echo"<br>";
$arr=[1,2,3];
$copy=$arr;//保留原作
印刷费($arr);回声“
”; $x=&$arr[1]; $arr2=$arr; 印刷费($arr);印刷费(2美元);回声“
”; $x=8; 印刷费($arr);打印(复印件);回声“
”;
$arr = [1,2,3];
$copy=$arr;  // preserve the original
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($copy); echo"<br>";