PHP引用赋值
貌似在兔子书上没有看到过,传统的赋值方法传值大致是变量A = 变量B ,而引用赋值相当于“一根绳上的蚂蚱”,A变化同样会引起B变化,同样的B变化会引起A变化。(传值更快速)
1$foo = 'Bob'
2$bar = &$foo //此时$bar为'Bob'
3
4$bar = "My name is Tom";
5echo $foo //此时会输出"My name is Tom"
6
but:
1$bar = &(4 * 1);
2
3function test() {
4 return 2
5}
6
7$foo = &test();
8
都是非法的,变量必须要有名字。
但他们还是两个变量,所以用unset
销毁其中一个的时候另一个不会消失。
这里有一道题目
1<?php
2 $a= "hello";
3 $b= &$a;
4 unset($b);
5 $b= "world";
6 echo $a;
7?>
8
请问输出结果是:
A.hello B.world C.NULL D.unset
就直接解释了unset()
释放变量后另一个变量不会消失,而关联会被取消的问题,所以输出的才是hello
评论 (0)