Fatal error: Call-time pass-by-reference has been removed,passbyreference_PHP教程

來源:互聯網
上載者:User

Fatal error: Call-time pass-by-reference has been removed,passbyreference


下面的代碼報錯:Fatal error: Call-time pass-by-reference has been removed

function myFunc($arg) { do something... }

myFunc(&$arg);//Call myFunc

function myFunc(&$arg) { do something... }

myFunc(&$arg);//Call myFunc

錯誤分析:
allow_call_time_pass_reference boolean
在函數調用時參數被按照引用傳遞時是否發出警告。此方法已不被贊成並在 PHP/Zend 未來的版本中很可能不再支援。鼓勵使用的方法是在函數定義中指定哪些參數應該用引用傳遞。鼓勵大家嘗試關閉此選項並確保指令碼能夠正常運行,以確保該指令碼也能在未來的版本中運行(每次使用此特性都會收到一條警告)。

在函數調用時通過引用傳遞參數是不推薦的,因為它影響到了代碼的整潔。如果函數的參數沒有聲明作為引用傳遞,函數可以通過未寫入文檔的方法修改其參數。要避免其副作用,最好僅在函式宣告時指定那個參數需要通過引用傳遞。

Changelog for allow_call_time_pass_reference 版本 說明
5.4.0 從 PHP 中移除。
5.3.0 Emits an E_DEPRECATED level error.
5.0.0 Deprecated, and generates an E_COMPILE_WARNING level error.



函數調用時引用傳參已經被移除了,就是不能通過function(&$a)這種方式傳參調用函數.
解決方案:
查看你的php.ini設定檔,把其中的 allow_call_time_pass_reference參數調整為true,並重啟伺服器試試。

此外,以前的php代碼在升級到5.4版本的php可能會出現這種錯誤:

當我們這樣使用函數(或者類)的話,會產生一個error:

myFunc(&$arg);//Call myFunc

實際上,這樣用本來就是錯的,只是之前的錯誤層級僅僅是Deprecated而已。

而正確的使用方法應該是在函數定義時:

function myFunc(&$arg) { do something... }

而在調用時直接傳參就行了:

myFunc($var);//Call myFunc




Fatal error: Call-time pass-by-reference has been removed in D:\EasyPHP\www\Paixd\DailyAuction\Prcie

意思是調用時引用傳參已經被移除了,就是不能通過function(&$a)這種方式傳參調用函數.

解決方案:

查看你的php.ini設定檔,把其中的 allow_call_time_pass_reference參數調整為true,並重啟伺服器試試。

======================================
此外,以前的php代碼在升級到5.4版本的php可能會出現這種錯誤:

當我們這樣使用函數(或者類)的話,會產生一個error:

foo(&$var);

實際上,這樣用本來就是錯的,只是之前的錯誤層級僅僅是Deprecated而已。

而正確的使用方法應該是在函數定義時:

function foo(& $var) {
//other code
}

而在調用時直接傳參就行了: foo($var);
 

bugfree登陸後出現一行字

到有問題的行數,把&$this等變數的&去掉就可以了,然後重啟xampp或bugfree;
或修改php.ini裡的allow_call_time_pass_reference=On
 

http://www.bkjia.com/PHPjc/880093.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/880093.htmlTechArticleFatal error: Call-time pass-by-reference has been removed,passbyreference 下面的代碼報錯:Fatal error: Call-time pass-by-reference has been removed function myFunc( $arg)...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.