Sara Golemon has an interesting article at http://blog.golemon.com/2007/01/youre-being-lied-to.html
The moral of the story
Assigning values by references when you don't need to ... is NOT a case of you outsmarting the silly engine and gaining speed and performance. It's the opposite, it's you TRYING to outsmart the engine and failing, because the engine is already doing a better job than you think.
And some background on zvals in general. But both these are a bit old. Not sure how much has changed over the years.