PHP引用变量
06
2016.01
<?php $a = 10; $b = 20; $c = &$a; //声明 $c 取址 $a的值,将两个变量同一 $a = 1000; //重新声明 $a的值 $c = 500; //重新声明 $c的值 因为是最后一个声明,所以 $a和$c输出都是他,如果将他注释则输出 上面重新声明的$a的值 echo $a; echo "<br>"; echo $c;
每个变量在内存中都会有一个十六进制地址,&符号是取址符号 上例题中 声明变量$c中,在$a前加入&,将 $a 取址 到变量$c 成为同一赋值,如果重新声明 $a的值则$c一起变动,相同重新声明$c也会将$a的值变动。
换句话说,$c = &$a,等于是将$a起了个别名$c,重新声明他们两个任意个变量则都会随之更变。
重点:
1、只有变量才有地址,也就是只有变量才能有引用。
2、一个变量发生变化,另一个变量的值也会变化。
3、如果用unset()函数时,如果有引用关系,只是解除重置这种引用关系,只删除一个变量,另外一个还在,除非在用unset()删除另一个。
4、如果两个变量是引用关系,一个变,另一个也变,但如果给其中一个引用,不是普通的值,而是一个新的引用,则改变引用关系。
<?php $a = 10; $b = &$a; $c = 100; $b = &$c; // $b重新绑定$c的值,自动解除和$a的关系 $c = 200; echo $a; // 输出是原来的 10 echo "<br>"; echo $c; // 输出是最后重新声明的$c值 200
转载请注明本文地址: https://www.igs.cc/01/06/107/ | IGS's Blog
PHP引用变量:等您坐沙发呢!
发表评论
