php传值与传址的区别

  PHP中传值和传址的区别, 十分的简单, 看字面的意思大概就知道是什么意思了, 下面通过简单的实例看一下两者的区别.

1 $a = 5;
2 function show(&$b) {
3     $b += 10;
4     echo "函数内部:" . $b . "<hr>";//结果: 15
5 }
6 show($a);
7 echo "函数外部:" . $a . "<hr>";//结果: 15

  总结:

  $a =&$b, 把变量a的内存地址赋值给b, 即引用赋值. b指向a指向的地址, b和a是指向同一内存块, 修改其中一个的值也会改变另一个的值.
  而 $b = a, 是把a引用的内存拷贝到b指向的内存中, b和a指向不同的内存块, 但内存的值一样的, b和a可以独立改变互不影响.

原文地址:https://www.cnblogs.com/hhsy/p/5656605.html