CodeSky 代码之空

随手记录自己的学习过程

PHP引用赋值

2014-01-24 10:42分类: PHP评论: 0

貌似在兔子书上没有看到过,传统的赋值方法传值大致是变量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)