In PHP 4, by default object variables were passed by value, which was quite annoying for OO enthusiasts. In PHP5 however, they're are passed by reference - a great improvement. If you want to pass by value, you may want to look at cloning the current object instance. Regular variables are passed by value by default.