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原值?请通俗说明下? 展开
<?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原值?请通俗说明下? 展开
1个回答
展开全部
PHP 的引用允许用两个变量来指向同一个内容。意思是,当这样做时:
$bar = &$foo;
这意味着 $bar 和 $foo 指向了同一个变量。bar 和foo只是变量的名字,它们都指向Bob.
$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才是变量名。&只是引用
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询