php变量引用赋值一些知识
手册上的解释是:简单的引用(换言之,“成为其别名” 或者 “指向”)了原始变量。改动新的变量将影响到原始变量,反之亦然。
我理解决引用相当一个人有了两个名字,无论叫其中哪一个都是这个人。
以下两例子结果都在一样的。删除或修改都会影响到另外一个变量的值。
<?php
$foo = "Bob"; // 将 "Bob" 赋给 $foo
$bar = &$foo; // 通过 $bar 引用 $foo
$bar = "My name is $bar"; // 修改 $bar 变量
echo $bar;
echo $foo; // $foo 的值也被修改
?>
<?php
$foo = "Bob"; // 将 "Bob" 赋给 $foo
$bar = &$foo; // 通过 $bar 引用 $foo
$foo = "My name is $bar"; // 修改 $foo 变量
echo $bar,"
";
echo $foo; // $foo 的值也被修改
?>
删除引用时,无论是删除
<?php
$a = 0;
$b = &$a;
// echo $a; //0
// unset($b); // unset $b
unset($a); // unset $b
echo $b; //0 it"s OK
当一个变量先后引用两个变量时,把第一次引用的变量,修改成第二次引用的变量。第一次引用没有关系,互相不会影响。
<?php
$a = "hihaha";
$b = &$a;
$c = "eita";
$b = &$c;
echo $b; // shows "hihaha"
函数的传址调用传址调用,执行完,相当于直接改变引用的变量。这里
function test( &$a )
{
$a += 10;
return $a;
}
$b = 1;
test($b);
echo $b;//输出11
函数的引用返回待续…
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇: php session读写锁引起的脚本阻塞问题
- 下一篇: php实现websocket实时消息推送