PHP global问题

各位大神好,我学到函数变量作用域的时候,有一个问题没想明白。

$v1 = 1;

$v2 = 2;

function a(){

     global $v1,$v2;

     $v2 = &$v1;

}

a();

echo 'v2:'.$v2; //输出是v2:2

老师说global其实就是去引用外部的$var,重新开辟了一个存储空间,所以函数内部的操作没有改变函数外部的值。

$v1 = 1;

$v2 = 2;

function a(){

      global $v1,$v2;

      $v2 = $v1;

}

a();

echo 'v2:'.$v2; //输出确实v2:1

那么上面的实例,函数内部的操作却改变了函数外部的值,这是为什么?为什么上面引用却没有影响到外部的值。

求大神帮我解惑。本人只是个刚入门的孩子

Sun丶发发
浏览 990回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP