Heim >Backend-Entwicklung >PHP-Tutorial >Analyse von Dingen, die bei der Referenzübergabe in PHP-Funktionen beachtet werden müssen
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:
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!