Just wondering about the performance impact of copying very large php variables. For example say $arr is an enormous array. If I do $arr2 = $arr, is this a deep copy or is $arr2 merely a pointer to $arr like it is in Java? Thanks in advance.
+6
A:
$arr2 = $arr
creates a deep copy. But the actual copying only happens when $arr2 is modified -- PHP utilizes copy-on-write.
If you want a "pointer" instead of a copy, use $arr2 =& $arr
, which makes $arr2 a reference to $arr.
Frank Farmer
2010-03-05 07:04:11
+1
A:
The general rule in PHP is don't create references unless you need the functionality they provide. References will only make the code slower otherwise.
konforce
2010-03-05 07:18:16