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:
<?php // Function used for assigning new // value to $string variable and // printing it function print_string( $string ) { $string = "Function neveropen" . "\n" ; // Print $string variable print ( $string ); } // Driver code $string = "Global neveropen" . "\n" ; print_string( $string ); print ( $string ); ?> |
Function neveropen Global neveropen
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:
<?php // Function used for assigning new value to // $string variable and printing it function print_string( & $string ) { $string = "Function neveropen \n" ; // Print $string variable print ( $string ); } // Driver code $string = "Global neveropen \n" ; print_string( $string ); print ( $string ); ?> |
Function neveropen Function neveropen