PHP中使用&赋值与=赋值的区别
用PHP开发项目,有时会用到&赋值,那它有什么区别呢,看看下同的示例就知道了
- <p>$var1=1;
- $var2=2;
- function test1(){
- $GLOBALS['var2'] = $GLOBALS['var1'];
- $GLOBALS['var2'] = 3;
- }
- test1();
- echo $var1; //1
- echo $var2; //3</p><p>
- $var3=1;
- $var4=2;
- function test2(){
- $GLOBALS['var4'] = &$GLOBALS['var3'];
- $GLOBALS['var4'] = 3;
- }
- test2();
- echo $var3; //3
- echo $var4; //3</p>
为什么$var1的打印结果是1,而$var3的打印结果为3呢?其实是原因通过&方式进行赋值,是把var4与var3指向了同一个存储地址,所以无论修改var3或var4的值,它们是一样,可以理解为他们是一个变量,有两个不能的称呼。

浙公网安备 33010602011771号