PHP中地址变量赋值问题:PHP代码如下

代码如下:<?php$foo='Bob';//将'Bob'赋给$foo$bar=&$foo;//通过$bar引用$fooecho$foo.'<br/>';$bar="My... 代码如下:

<?php
$foo = 'Bob'; // 将 'Bob' 赋给 $foo
$bar = &$foo; // 通过 $bar 引用 $foo
echo $foo.'<br/>';
$bar = "My name is $bar"; // 修改 $bar 变量
echo $bar.'<br/>';
echo $foo.'<br/>'; // $foo 的值也被修改
?>

输出:
Bob
My name is Bob
My name is Bob

为什么第二行是输出 My name is Bob是不是&$foo已经取代$FOO原值?请通俗说明下?
展开
 我来答
百度网友710e89b4c
2012-05-17 · 超过33用户采纳过TA的回答
知道答主
回答量:84
采纳率:0%
帮助的人:93.5万
展开全部
PHP 的引用允许用两个变量来指向同一个内容。意思是,当这样做时:
$bar = &$foo;
这意味着 $bar 和 $foo 指向了同一个变量。bar 和foo只是变量的名字,它们都指向Bob.
追问
也就是说&$FOO也就成了变量名,$FOO和$BAR是同一变量,此时的$BAR=My name is Bob,那么FOO也是My name is Bob.已经不再是原来的值BOB了.
最直接的理解是&$FOO,已经使$FOO变成了一个变量名,原来的赋值已失去意义.只保留了FOO这个变量名而已.
追答
$bar = &$foo;这样引用了以后,bar和 foo就完全相同了,指向了同一个地方。
$bar = "My name is $bar";
这句改变了$bar的指向内容,所以$foo的指向内容也就跟着变了。
“最直接的理解是&$FOO,已经使$FOO变成了一个变量名,”好像你说的这个不对,foo才是变量名。&只是引用
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式