對php中&的理解


變量的引用

<?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 一個引用,只是斷開了變量名和變量內容之間的綁定。這並不意味着變量內容被銷毀了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM