PHP Manual
Prev | Chapter 14. References Explained | Next

# What References Are Not

As said before, references aren't pointers. That means, the following construct won't do what you expect:

    function foo (&$var)
    {
        $var =& $GLOBALS["baz"];
    }
    foo($bar);

What happens is that `$var` in `foo` will be bound with `$bar` in caller, but then it will be re-bound with `$GLOBALS["baz"]`. There's no way to bind `$bar` in the calling scope to something else using the reference mechanism, since `$bar` is not available in the function `foo` (it is represented by `$var`, but `$var` has only variable contents and not name-to-value binding in the calling symbol table).

Prev | Home | Next
What References Do | Up | Passing by Reference