PHP Tutorial PHP Advanced PHP References

PHP Functions - Pass by Reference

When the argument or parameter of a function is passed by reference, then the function takes the parameter as reference and any changes made to the parameter inside the function will change the parameter itself also. By default, PHP uses pass by value method. To pass an argument by reference ampersand sign (&) is used just before variable name. To pass by reference means that the code within a function will change the parameter used to pass in the function.


In the example below, the function called Square is created which returns square of the passed argument. The function modify the parameter as square of itself before returning it. In the PHP script, when the passed argument is printed after calling the function Square, the value of the parameter changes because it was passed by reference.

function Square(&$x){
  $x = $x*$x;
  return $x; 

$x = 5;
echo "Initial value of x: $x\n";
echo "Value of x, after passed by reference: $x\n";

The output of the above code will be:

Initial value of x: 5
Value of x, after passed by reference: 25

❮ PHP - Functions