wie siehts bei objekten aus?
die Zeiger/Pointer/Referenzen werden als Kopie übergeben (sprich: vereinfacht wird die "Einsprungadresse" des referenzierten Zielobjekts kopiert und übergeben).**
sinnvollerweise wird eine neue referenz erstellt (eine kopie des pointers), damit die originalreferenz auf keinen fall zerschossen werden kann.
aber es wird keinesfalls die datenstruktur kopiert. dies würde nicht nur die performance bremsen, sondern auch datenmanipulationen der betreffenden objekte unterbinden, da diese ja in der kopie erfolgen. deshalb übergibt php5 jetzt defaultmäßig als referenz und nicht mehr als kopie.
bei primitiven datentypen spielt performance keine rolle. daher können die by value übergeben werden.