PHP中使用&赋值与=赋值的区别

用PHP开发项目,有时会用到&赋值,那它有什么区别呢,看看下同的示例就知道了

$var1=1;  $var2=2;  function test1(){      $GLOBALS['var2'] = $GLOBALS['var1'];       $GLOBALS['var2'] = 3; }  test1();  echo $var1; //1 echo $var2; //3

$var3=1;  $var4=2;  function test2(){      $GLOBALS['var4'] = &$GLOBALS['var3'];       $GLOBALS['var4'] = 3; }  test2();  echo $var3; //3 echo $var4; //3


为什么$var1的打印结果是1,而$var3的打印结果为3呢?其实是原因通过&方式进行赋值,是把var4与var3指向了同一个存储地址,所以无论修改var3或var4的值,它们是一样,可以理解为他们是一个变量,有两个不能的称呼。

你可能感兴趣的:(PHP中使用&赋值与=赋值的区别)