Wednesday, 4 May 2016

Are PHP Variables passed by value or by reference?



Are PHP variables passed by value or by reference?


Answer



It's by value according to the PHP Documentation.




By default, function arguments are passed by value (so that if the value of the argument within the function is changed, it does not get changed outside of the function). To allow a function to modify its arguments, they must be passed by reference.




To have an argument to a function always passed by reference, prepend an ampersand (&) to the argument name in the function definition.




function add_some_extra(&$string)
{
$string .= 'and something extra.';
}

$str = 'This is a string, ';

add_some_extra($str);
echo $str; // outputs 'This is a string, and something extra.'
?>

No comments:

Post a Comment

c++ - Does curly brackets matter for empty constructor?

Those brackets declare an empty, inline constructor. In that case, with them, the constructor does exist, it merely does nothing more than t...