ホームページ >バックエンド開発 >PHPチュートリアル >PHP 5.4 の「呼び出し時参照渡しが削除されました」エラーを修正するにはどうすればよいですか?

PHP 5.4 の「呼び出し時参照渡しが削除されました」エラーを修正するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-28 07:40:13224ブラウズ

How Can I Fix the 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。