<?php $a = $b = $c= 0; function &foo (){ //this is the right function global $a; return $a; } function boo (){ //no & global $b; return $b; } function &coo (){ global $c; return $c+10; //expression } $x = &foo(); //binds $x to $a $x = 7; print ("a=$a "); // 7 - changed $y = &boo(); $y = 5; print ("b=$b "); // 0 - unchanged $z = &coo(); $z = 17; print ("c=$c"); // 0 - unchanged ?>