很多朋友的php程序當php的版本升級到5.3以後,會出現”Deprecated: Assigning the returnvalue of new by reference is deprecatedin“ 顯示出來。這是因爲5.3以後,不能使用”=&”符號,可以直接用”=”就可以了。
所以當出現這個問題後有兩種解決方法:
1. 把php的版本降級到5.3以下,但後退的不是明智的選擇。
2. 對程序中”=&”符號全部用”=” 代替。
http://www.tulongzhiji.com/php-deprecated-assigning-the-return-value-of-new-by-reference-is-deprecated-in/
昨晚用Spreadsheet_Excel_Reader導入EXCEL內容到數據庫的時候,出現了以下提示:
Deprecated: Assigning the return value of new by reference isdeprecated in
定位到出錯的那一行:
1 $this->_ole=& new OLERead();
我本地環境用的是PHP/5.3.3。
下面這段話引用於因思而變
解決辦法:php5.3開始後,廢除了php中的”=&”符號,所以要想複製,直接用=引用即可。詳細如下:
1、PHP5對象複製是採用引用的方式;
2、如果不採用引用方式,則需要在複製對象時加關鍵字 clone;
3、如果在複製的過程中,同時要變更某些屬性,則增加函數_clone();