5.12. ReferencesWhen you use the = (assignment) operator, PHP performs a "copy assignment"it takes the value from operand two and copies it into operand one. While this is fine for most purposes, it doesn't work when you want to be able to change operand two later on and have operand one also change. In this situation, references are helpful; they allow you to have two variables pointing to the same data. Once two variables are pointing to the same data, you can change either variable and the other one will also update. To assign by reference, you need to use the reference operator (&) after the equals operator (=), giving =&.
Here's how it looks in PHP: $a = 10; $b =& $a; print $a; print $b; ++$a; print $a; print $b; ++$b; print $a; print $b; Here we're using the reference operator to make $b point to the same value as $a, as can be seen in the first two print statements. After incrementing $a, both variables are printed out again, and both are 11, as expected. Finally, to prove that the relationship is two-way, $b is incremented, and again both $a and $b have been updated with the one call.
References are also used to allow a function to work directly on a variable rather than on a copy. |