ホームページ >バックエンド開発 >PHPチュートリアル >PHP 5.4 の「呼び出し時参照渡しが削除されました」エラーを修正するにはどうすればよいですか?
PHP 5.4 の呼び出し時パスバイリファレンスの問題の修正
PHP 5.4 の導入により、呼び出し時パスが削除されました。参照渡しのため、恐ろしい「呼び出し時参照渡しが削除されました」というエラーが発生します。このエラーは、レガシー コードで変数が参照として関数に渡されるときに発生します。
簡単な修正か完全な書き換えですか?
この問題に対する簡単な修正はありません。この問題は、関数呼び出しではなく、関数定義での参照の宣言方法に起因します。 PHP のドキュメントには、「関数呼び出しには参照記号はありません。関数定義のみにあります。」と記載されています。
レガシー コードを書き換える
PHP が呼び出しに対して非推奨エラーを発行し始めたため-time pass-by-reference バージョン 5.3 では、潜在的な互換性の問題を回避するためにレガシー コードを書き直すことを強くお勧めします。 future.
書き換え例
の代わりに:
// Wrong way! myFunc(&$arg); // Deprecated pass-by-reference argument function myFunc($arg) { }
使用:
// Right way! myFunc($arg); // pass-by-value argument function myFunc(&$arg) { }
関数内で参照を宣言する定義を使用すると、関数内で非推奨の構文を必要とせずに、PHP が参照によって引数を渡すことが保証されます。呼び出します。
以上がPHP 5.4 の「呼び出し時参照渡しが削除されました」エラーを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。