Learning Resources
		 
Value and reference passing
Most methods passed arguments when they are called. An argument may be a constant or a variable. For example in the expression: Math.sqrt(x); The variable x is passed here.
	
	Pass by Reference means the passing the address itself rather than passing the value and pass by value means passing a copy of the value as an argument.
	
	This is simple enough, however there is an important but simple principle at work here. If a variable is passed, the method receives a copy of the variable's value. The value of the original variable cannot be changed within the method. This seems reasonable because the method only has a copy of the value; it does not have access to the original variable. This process is called pass by value.
pass a variable by reference to a function so the function can modify the variable. The syntax is as follows:
	
	
	function foo(&$var)
	{
	    $var++;
	}
	
	$a=5;
	foo($a);
	// $a is 6 here
	?>
	 
The following things can be passed by reference:
- Variables, i.e. foo($a)
 - New statements, i.e. foo(new foobar())
 - 
		
References returned from functions, i.e.:
 
	function foo(&$var)
	{
	    $var++;
	}
	function &bar()
	{
	    $a = 5;
	    return $a;
	}
	foo(bar());
	?>
