《PHP應用:PHP中返回引用類型的方法》要點:
本文介紹了PHP應用:PHP中返回引用類型的方法,希望對您有用。如果有疑問,可以聯系我們。
返回引用,在定義和調用的時候 & 都不可以省略.PHP教程
這是個比較容易混淆的概念,如果不是出于某些特殊的原因,建議還是不要使用.PHP教程
說他很容易混,是因為 Reference 在 PHP5 中的變化,造成其在 PHP4/PHP5 中表現的行為差異比較大.PHP教程
舉個例子說明:
PHP教程
運行一遍上面的代碼,差不多就明白了,使用 &getRef() 將把 $colorRef 綁定到 $color 上面,也就是說 $colorRef 和 $color 兩個變量是指向同一個值了.當改變其中一個值時,另一個也會跟著變化.PHP教程
如果 $color 是一個數組,也是一樣的,上面的代碼在 PHP4/5 的任意版本中,表現行為都是一樣的.PHP教程
當 $color 是一個 Object 的時候,問題就出現了.PHP教程
PHP4 中 getCopy 仍然會返回一個復制的 Object;&getRef() 返回引用.PHP教程
PHP5 中就有點另類了,
最新的 PHP5.2,行為和 PHP4 一樣,getCopy() 返回復制,&getRef() 返回引用.
但是某些的 PHP5 的版本這里稍微有些不同,比如 PHP5.1.6,表現為 getCopy() 和 &getRef() 都是引用.PHP教程
這里 getCopy() 和 &getRef() 是兩個全局函數,如果放到類里面成為類的 Member functions,那又會是另外一番景象……PHP教程
PS:返回 References 并不會提高性能,有時候反而降低性能,所以不要想當然的使用這個特性來“優化”程序.PHP教程
有問題看看手冊大部分時候都可以找到答案:PHP教程
http://cn.php.net/manual/en/language.references.phpPHP教程
《PHP應用:PHP中返回引用類型的方法》是否對您有啟發,歡迎查看更多與《PHP應用:PHP中返回引用類型的方法》相關教程,學精學透。維易PHP學院為您提供精彩教程。