變量的引用
<?php function test(&$a){ $a=$a+100; } $b=1; echo $b;//輸出1 test($b); //這里$b傳遞給函數的其實是$b的變量內容所處的內存地址,通過在函數里改變$a的值 就可以改變$b的值了 echo "<br>"; echo $b;//輸出101 ?>
函數的引用返回
<?php function &test(){ static $b=0;//申明一個靜態變量 $b=$b+1; echo $b; return $b; } } $a=test();//這條語句會輸出 $b的值 為1 $a=5; $a=test();//這條語句會輸出 $b的值 為2 $a=&test();//這條語句會輸出 $b的值 為3 $a=5; $a=test();//這條語句會輸出 $b的值 為6 ?>
對象的引用
<?php class a{ var $abc="ABC"; } $b=new a; $c=$b; echo $b->abc;//這里輸出ABC echo $c->abc;//這里輸出ABC $b->abc="DEF"; echo $c->abc;//這里輸出DEF ?>
引用的作用
如果程序比較大,引用同一個對象的變量比較多,並且希望用完該對象后手工清除它,個人建議用 "&" 方式,然后用$var=null的方式清除. 其它時候還是用php5的默認方式吧. 另外, php5中對於大數組的傳遞,建議用 "&" 方式, 畢竟節省內存空間使用。
取消引用
當你 unset 一個引用,只是斷開了變量名和變量內容之間的綁定。這並不意味着變量內容被銷毀了。
