函数按引用传递和按值传递的区别实例?
按值传递:
<?php
$prices = 50;
$tax = 0.5;
function functionPrices($prices,$tax) {
$prices = $prices + $prices * $tax;
$tax = $tax * $tax;
echo $prices; //75
echo '|';
echo $tax; //0.25
}
functionPrices($prices,$tax);
echo $prices; //50
echo '|';
echo $tax; //0.5
按引用传递只需在参数前面加&符号:
<?php
$prices = 50;
$tax = 0.5;
function functionPrices(&$prices,&$tax) {
$prices = $prices + $prices * $tax;
$tax = $tax * $tax;
echo $prices; //75
echo '|';
echo $tax; //0.25
}
functionPrices($prices,$tax);
echo $prices; //75
echo '|';
echo $tax; //0.25
结论:
通过上面两个例子可知,在函数内部和外部具有相同变量的情况下,函数内部变量和外面变量没有任何关系,互不影响。
而如果按引用传递的话,函数内部的变量发生改变,外面相同变量名的变量也会跟着改变。