函数按引用传递和按值传递的区别实例?
按值传递:
<?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
结论:
通过上面两个例子可知,在函数内部和外部具有相同变量的情况下,函数内部变量和外面变量没有任何关系,互不影响。
而如果按引用传递的话,函数内部的变量发生改变,外面相同变量名的变量也会跟着改变。