At 13:35 15/09/2005, Ron Korving wrote:
Hi,
For performance' sake, I have to know if this is true:
Is it the case that when I do this:
<?php
$array = array("one" => array(0,1,2), "two" => array(4,5,6));
$one = $array["one"];
?>
That $one is not a copy, but a reference to $array["one"] and will only
become a copy when I alter the contents of $one?
That's correct.
I know this is the case for
regular variables, but does this also go for contents of arrays? If not, I
need to use the ampersand like I used to. But if it really is just a
reference, that would be good to know as I shouldn't be using the ampersand
at all (mistakingly thinking it's a performance advantage when it's actually
not).
Generally, using & where it's not necessary is more often than not a
performance disadvantage, and not an advantage. You should never use & for
better performance, only if you need it for applicative usage. The engine
would do its best to do the least copying on its own.
Zeev
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php