Home >Backend Development >PHP Tutorial >When does php pass by value or reference?
Variables are always assigned by value by default. That is, when the value of an expression is assigned to a variable, the value of the entire original expression is assigned to the target variable. This means that, for example, changing the value of one variable while the value of one variable is assigned to another variable will not affect the other variable.
#PHP also provides another way to assign values to variables: reference assignment. This means that the new variable simply references (in other words, "aliases" or "points to") the original variable. Changing the new variable will affect the original variable and vice versa. To use assignment by reference, simply add an & sign in front of the variable to be assigned (the source variable).
Objects are passed by reference by default. For larger data, it is better to pass by reference, which can save memory overhead.
Note:
Pass by value: Any changes to the value within the function will be ignored outside the function.
Pass by reference: Any changes to the value within the function will also reflect these modifications outside the function.
Application scenario: When passing by value, PHP must copy the value, but passing by reference does not need to copy the value, so passing by reference is generally used for large strings or objects.
Advantages and Disadvantages:
When passing by value, PHP must copy the value. This is expensive for large strings and objects. Passing by reference does not require copying the value, which is good for improving performance.
The above is the detailed content of When does php pass by value or reference?. For more information, please follow other related articles on the PHP Chinese website!