只是想知道复制非常大的php变量对性能的影响。例如,$ arr是一个庞大的数组。如果我做$ arr2 = $ arr,这是一个深层副本还是$ arr2只是一个指向$ arr的指针,就像它在Java中一样?提前谢谢。
答案 0 :(得分:6)
$arr2 = $arr
创建一个深层副本。但实际的复制仅在$ arr2被修改时发生 - PHP使用copy-on-write。
如果你想要一个“指针”而不是副本,请使用$arr2 =& $arr
,这使得$ arr2成为对$ arr的引用。
答案 1 :(得分:1)
如果你使用$ arr2 =& $ arr;
它将引用$ arr。
答案 2 :(得分:1)
PHP中的一般规则是不创建引用,除非您需要它们提供的功能。引用只会使代码变慢。