日期:2014-05-17 浏览次数:20485 次
php的引用(就是在变量或者函数、对象等前面加上&符号)
在PHP中引用的意思是:不同的名字访问同一个变量内容.
?
变量的引用
PHP的引用允许你用两个变量来指向同一个内容
例一:
<?php
$a="2010";
$b =&$a;
echo $a;//这里输出:2010
echo $b;//这里输出:2010
$b="2012";
echo $a;//这里$a的值变为2012所以输出
echo $b;//这里输出2012
?>
例二:
<?php
$a = "date";
$b = &$a;
echo $a; // date
echo $b; // date
$b = "date1";
echo $a; // date1
echo $b; // date1
unset($a);
echo $b; // date1
?>
从上面的两个例子中,可以看出,把$b的内存地址给了$b,并不是简单的赋值。所以对$b
的任何操作也会影响到$a
另种说法,就是给$a增加了一个别名$b,如果删除了$a,只是删除了这个变量的名字,并没有删除变量的内容,用别名还是可以把这个变量的内容显示出来。(如图关系)
???????
函数的传址调用
例三:
<?php
function test(&$a)
{
$a=$a+100;
}
$b=1;
echo $b;//输出1
//这里$b传递给函数的其实是$b的变量内容所处的内存地址,通过在函数里改变$a的值 就可以改变$b的值了
test($b);???
echo $b;//输出101
?>
如何在这里test(1);的话就会出错
???
说明参数只能是变量,常量不具有传址。
?