andy baxter wrote:
Pierre Rineau wrote:
It depends on the parameter type.
If your parameter is a primitive type (int, string, float, bool) or an array, value will be used (this will be a local variable into your function), but if you pass a class (stdClass or any other) then it will be a reference, whether you wrote the & or not.
This is what I was thinking it might be. I've programmed in other languages before but not PHP, and I didn't know how PHP deals with things like this.
Thanks,
andy
Not entirely true, actually. In PHP 5, objects are split into the actual object and a handle to that object. The handle passes by value, but the object itself is still the same one being referenced. So it behaves about 93% of the time as if objects pass by reference. There are edge cases where that's not true, however, so don't get into the "object => pass by ref" trap. It's only "true" 93% of the time. :-)
--Larry Garfield