Perfect :) I've been doing it wrong all the time, thinking I was improving performance. It's good to know how things really work under the hood.
Thanks, Ron "Zeev Suraski" <[EMAIL PROTECTED]> schreef in bericht news:[EMAIL PROTECTED] > 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