TearSnow

PHP引用变量

<?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

标签:
该日志由 IGS 于2016年01月06日发表在 PHP日志, 学习日志 分类下, 您可以发表不同观点
原创文章,转载请注明: PHP引用变量 | IGS's Blog

PHP引用变量:等您坐沙发呢!

发表评论

= 8 + 11 (防止机器人评论

快捷键:Ctrl+Enter