Now I'm no core developer, but I think what you fear is impossible. If I'm not mistaken: array_merge() will write it's result to a piece of data and when it's finished, it will make $array1 point to it, as I expect this to work in every function that returns something.
Ron "Ezra Nugroho" <[EMAIL PROTECTED]> schreef in bericht news:[EMAIL PROTECTED] >I sent this to the general list, but I didn't get definitive answer. > Maybe internals is the better forum to talk about it. > If you have a test code, or other pointers towards a definitive answer, > I'd love to try it. > > Thanks > > > > > Php experts everywhere, > > I want to merge two arrays, and I want to store the result as the first > array. Something like the following: > > > $array1 = array_merge ($array1, $array2); > > > So far the code gives me what I want. However, suppose if $array1 is > extremely huge, am I introducing a bug here because of possible race > condition? It's possible that array_merge has two write something to > $array1 (left hand side) before it even finishes reading it (argument) > in the first place. Let alone merging the two. > > Should I just go conservative and do: > > $tmp = array_merge($array1, $array2); > $array1 = $tmp; > > > Thank you, > Ezra -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php