How to pass PHP Variables by reference ?

By default, PHP variables are passed by value as the function arguments in PHP. When variables in PHP is passed by value, the scope of the variable defined at function level bound within the scope of function. Changing either of the variables doesn’t have any effect on either of the variables.

Example:

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
  
// Function used for assigning new
// value to $string variable and 
// printing it
function print_string( $string ) {
    $string = "Function geeksforgeeks"."\n";
  
    // Print $string variable
    print($string);
}
  
// Driver code
$string = "Global geeksforgeeks"."\n";
print_string($string);
print($string);
?>

chevron_right


Output:

Function geeksforgeeks
Global geeksforgeeks

Pass by reference: When variables are passed by reference, use & (ampersand) symbol need to be added before variable argument. For example: function( &$x ). Scope of both global and function variable becomes global as both variables are defined by same reference. Therefore, whenever global variable is change, variable inside function also gets changed and vice-versa is applicable.

Example:

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
  
// Function used for assigning new value to 
// $string variable and printing it
function print_string( &$string ) {
      
    $string = "Function geeksforgeeks \n";
  
    // Print $string variable
    print( $string );
}
  
// Driver code
$string = "Global geeksforgeeks \n";
print_string( $string );
print( $string );
?>

chevron_right


Output:

Function geeksforgeeks 
Function geeksforgeeks


My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.