What References Do

PHP references allow you to make two variables to refer to the same content. Meaning, when you do:


$a =& $b 
     

it means that $a and $b point to the same variable.

Note: $a and $b are completely equal here, that's not $a is pointing to $b or vice versa, that's $a and $b pointing to the same place.

The second thing references do is to pass variables by-reference. This is done by making local function variable and caller variable to be reference to the same content. Example:


function foo (&$var) {
    $var++;
}

$a=5;
foo ($a);
     

will make $a to be 6. This happens because in the function foo the variable $var refers to the same content as $a.

The third thing reference can do is return by-reference.