Heim >Backend-Entwicklung >PHP-Tutorial >Wie behebt man den Fehler „Call-time Pass-by-Reference Has Been Removed' in PHP 5.4?

Wie behebt man den Fehler „Call-time Pass-by-Reference Has Been Removed' in PHP 5.4?

Barbara Streisand
Barbara StreisandOriginal
2024-11-27 03:48:09643Durchsuche

How to Fix the

PHP 5.4 Call-time Pass-by-Reference: Eine einfache Lösung entmystifiziert

Der PHP-Fehler „Schwerwiegender Fehler: Call-time pass -by-reference wurde entfernt“ tritt auf, wenn Variablen als Referenzen auf Funktionen übergeben werden, eine Praxis, die in PHP 5.4 jetzt veraltet ist. Dieser Fehler kann in älterem Code auftreten, der häufig Referenzen verwendet. Auch wenn das Umschreiben der gesamten Codebasis entmutigend erscheinen mag, gibt es eine einfache Lösung, um dieses Problem zu beheben.

Entgegen der landläufigen Meinung sollte das Referenzzeichen in der Funktionsdefinition und nicht im Funktionsaufruf enthalten sein. In PHP 5.4 ist die Verwendung von „&“ in Funktionsaufrufen veraltet und löst Warnmeldungen aus. Um dieses Problem zu beheben, geben Sie die Referenz in der Funktionsdefinition an.

PHP-Dokumentationsleitfaden

In der PHP-Dokumentation heißt es: „Es gibt kein Referenzzeichen für einen Funktionsaufruf – nur.“ zu Funktionsdefinitionen. Dies bedeutet, dass allein die Funktionsdefinition das Pass-by-Reference-Verhalten für das Argument festlegt.

Korrekte Verwendung:

Anstelle der Verwendung der veralteten Syntax:

myFunc(&$arg); 

Verwenden Sie die folgende Syntax:

myFunc($arg);

In der Funktion Definition:

function myFunc(&$arg) { } 

Durch die Einhaltung dieser Richtlinien können Sie das Call-Time-Pass-by-Reference-Problem leicht beheben und die damit verbundenen Fehler in Ihrem Code beseitigen.

Das obige ist der detaillierte Inhalt vonWie behebt man den Fehler „Call-time Pass-by-Reference Has Been Removed' in PHP 5.4?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn