Heim  >  Artikel  >  Backend-Entwicklung  >  Analyse von Dingen, die bei der Referenzübergabe in PHP-Funktionen beachtet werden müssen

Analyse von Dingen, die bei der Referenzübergabe in PHP-Funktionen beachtet werden müssen

不言
不言Original
2018-06-04 17:30:581494Durchsuche

In diesem Artikel werden hauptsächlich die Vorsichtsmaßnahmen zur Referenzübergabe für die PHP-Funktionswertübertragung vorgestellt, einschließlich der Einstellungen von PHP-Konfigurationsdateien und der Verwendungsfähigkeiten von Array-Funktionen.

Dieser Artikel beschreibt PHP-Funktionen mit Beispielen. Hinweise zur Weitergabe durch Referenz. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Strenge Standards: Nur Variablen sollten als Referenz übergeben werden

Die Informationen enthalten einen solchen Satz online gefunden:

Dieses Problem tritt in PHP5.3 und höheren Versionen auf. Es sollte auch mit der Konfiguration von PHP zusammenhängen, solange Sie diesen Satz in zwei Sätze aufteilen. Da die Parameter von array_walk als Referenz übergeben werden, können in Version 5.3 und höher standardmäßig nur bestimmte Variablen übergeben werden und Werte können nicht über Funktionen zurückgegeben werden. Natürlich kann man error_reporting = E_ALL | auch in der php.ini ändern, aber das entspricht schließlich nicht der Spezifikation.

$suffix = array_pop(explode(".",$file_name));

Warum sind höhere Versionen so restriktiv?

Ich habe mir den Funktionsprototyp im Handbuch angesehen:

mixed array_pop ( array &$array )
bool array_walk ( array &$array , callable $funcname [, mixed $userdata = NULL ] )

Das &-Symbol gibt an, dass die Variable übergeben wird, die übergeben wird Referenz. Ändern Sie einfach

in:

$file_name_arr = explode(".",$file_name);
$suffix = array_pop($file_name_arr);

.

Eigentlich meldet es nur eine Warnung. Kein fataler Fehler. Es können normale Ergebnisse erzielt werden. Beispielsweise ist es normal, hier das Suffix des Dateinamens zu erhalten.

Verwandte Empfehlungen:

So implementieren Sie die rekursive Erstellung hierarchischer Verzeichnisse mithilfe der PHP-Funktion mkdir

PHP-Funktionsreferenztabelle

Das obige ist der detaillierte Inhalt vonAnalyse von Dingen, die bei der Referenzübergabe in PHP-Funktionen beachtet werden müssen. 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