PHP為什麼用引用
什麼是引用?
在 PHP 中引用意味著用不同的名字存取同一個變數內容。這並不像 C 的指針,替代的是,引用是符號表別名。注意在 PHP 中,變數名和變數內容是不一樣的,因此同樣的內容可以有不同的名字。最接近的比喻是 Unix 的檔案名稱和檔案本身-變數名稱是目錄條目,而變數內容則是檔案本身。引用可以被看作是 Unix 檔案系統中的 hardlink。
1.變數的參考
<? a="ABC";a="ABC";b =&a;echoa;echoa;//这里输出:ABC echo b;//这里输出:ABCb;//这里输出:ABCb="EFG"; echo a;//这里a;//这里a的值变为EFG 所以输出EFG echo $b;//这里输出EFG ?>
2.函數的引用傳遞
<?php function test(&a)$a=$a+100;a)$a=$a+100;b=1; echo b;//输出1test(b;//输出1test(b); //这里b传递给函数的其实是b传递给函数的其实是b的变量内容所处的内存地址,通过在函数里改变a的值 就可以改变a的值 就可以改变b的值了 echo "<br>"; echo $b;//输出101 ?>
3.函數的引用返回
<?php function &test() { static b=0;//申明一个静态变量b=0;//申明一个静态变量b=b+1;echob+1;echob; return b; }b; }a=test();//这条语句会输出 b的值 为1b的值 为1a=5; a=test();//这条语句会输出a=test();//这条语句会输出b的值 为2 a=&test();//这条语句会输出a=&test();//这条语句会输出b的值 为3 a=5;a=5;a=test();//这条语句会输出 $b的值 为6 ?>
4.物件的參考
<?php class a{ var abc="ABC"; }abc="ABC"; }b=new a; c=c=b; echo b−>abc;//这里输出ABCechob−>abc;//这里输出ABCechoc->abc;//这里输出ABC b−>abc="DEF";echob−>abc="DEF";echoc->abc;//这里输出DEF ?>
5.引用的作用
如果程式比較大,引用同一個物件的變數比較多,並且希望用完該物件後手工清除它,建議用"&" 方式,然後用$var=null的方式清除. 其它時候使用php5的預設方式. 另外, php5中對於大數組的傳遞,建議用"&" 方式, 能夠節省內存空間使用。
更多PHP相關知識,請造訪PHP中文網!
以上是PHP為什麼要用引用的詳細內容。更多資訊請關注PHP中文網其他相關文章!