Heim >Backend-Entwicklung >PHP-Tutorial >Welche Beziehung besteht zwischen Parameterübergabemethoden von PHP-Funktionen und Referenzvariablen?
In PHP bestimmt die Art und Weise, wie Parameter an eine Funktion übergeben werden, wie die Funktion auf Variablen zugreift. Die Übergabe als Wert erstellt eine Kopie der Variablen, während die Übergabe als Referenz direkt auf die ursprüngliche Variable wirkt. PHP 8 führte Referenztyphinweise ein, die es ermöglichen, per Referenz übergebene Parameter explizit anzugeben. Die Wertübergabe eignet sich für Funktionen, die den Originalwert nicht ändern, während die Referenzübergabe für Funktionen geeignet ist, die den Originalwert ändern müssen.
Die Beziehung zwischen der Parameterübergabemethode von PHP-Funktionen und Referenzvariablen
In PHP bestimmt die Parameterübergabemethode einer Funktion, wie die Funktion auf die an sie übergebenen Variablen zugreift. Es gibt zwei Hauptmethoden zum Übergeben von Parametern: Übergabe als Wert und Übergabe als Referenz.
Wertübergabe
Wenn eine Variable als Wert an eine Funktion übergeben wird, wird eine Kopie der Variablen erstellt und an die Funktion übergeben. Dies bedeutet, dass die Funktion eine Kopie der Variablen bearbeitet und alle an der Kopie vorgenommenen Änderungen keine Auswirkungen auf die Originalvariable haben.
function add_one($num) { $num++; // 对副本进行更改 } $x = 10; add_one($x); // 传递变量副本 echo $x; // 输出 10(原始变量保持不变)
Übergabe per Referenz
Wenn eine Variable als Übergabe per Referenz an eine Funktion übergeben wird, arbeitet die Funktion direkt mit der Originalvariablen. Alle an den Variablen in der Funktion vorgenommenen Änderungen werden in den Originalvariablen widergespiegelt.
function add_one(&$num) { $num++; // 对原始变量进行更改 } $x = 10; add_one($x); // 传递变量引用 echo $x; // 输出 11(原始变量被修改了)
Im obigen Beispiel übergibt die Funktion add_one()
ihren Parameter $num
als Referenz. Wenn die Funktion $num
erhöht, ändert sie direkt die ursprüngliche Variable $x
. add_one()
函数通过引用传递其参数 $num
。当函数将 $num
递增时,它直接修改了原始变量 $x
。
引用变量的类型提示
PHP 8 引入了引用类型提示,允许明确指定要按引用传递的函数参数。使用 &
前缀表示该参数应按引用传递。
function add_one(int &$num) { $num++; }
现在,将 $num
传递给 add_one()
函数时,它必须是按引用传递的。如果不按引用传递,则会出现错误。
实战案例
以下是对 按值传递
和 按引用传递
的实战案例:
按值传递:
sort()
或 trim()
PHP 8 führte Referenztyphinweise ein, die es ermöglichen, Funktionsparameter, die per Referenz übergeben werden, explizit anzugeben. Die Verwendung des Präfixes &
gibt an, dass der Parameter als Referenz übergeben werden soll.
$num
an die Funktion add_one()
übergeben wird, muss es als Referenz übergeben werden. Wenn Sie keine Referenz übergeben, erhalten Sie eine Fehlermeldung. Übergabe nach Wert
und Übergabe nach Referenz
: 🎜🎜🎜Übergabe nach Wert: 🎜🎜🎜🎜Array-Sortierung oder Trimmfunktionen wie sort()
oder trim()
ändern nicht das ursprüngliche Array oder die ursprüngliche Zeichenfolge. 🎜🎜🎜🎜Übergabe als Referenz: 🎜🎜🎜🎜Funktion, die den Inhalt eines Datenbankeintrags oder Dateisystems aktualisiert und eine direkte Manipulation der Originalvariablen erfordert. 🎜🎜Das obige ist der detaillierte Inhalt vonWelche Beziehung besteht zwischen Parameterübergabemethoden von PHP-Funktionen und Referenzvariablen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!