Heim > Artikel > Backend-Entwicklung > 3 Möglichkeiten und Unterschiede der Funktionsparameterübergabe in PHP (mit ausführlicher Erklärung)
Drei Möglichkeiten und Unterschiede der Übergabe von Funktionsparametern in PHP
1 Wertübergabe ( pass nach Wert)
Mit dieser Methode bearbeitet die aufrufende Funktion nicht die tatsächlichen Parameter. Das heißt, selbst wenn sich der Wert des formalen Parameters in der Funktion ändert des tatsächlichen Parameters Es wird überhaupt nicht beeinflusst und bleibt immer noch der Wert vor dem Aufruf. Dies entspricht der Zuweisung einer Kopie des tatsächlichen Parameters zum formalen Parameter und der anschließenden Wiederverwendung des Speichers nach dem Aufruf.
<span style="font-size:18px;"><strong>#include<stdio.h> int sum(int x,int y) { return x+y; } int main() { int result=sum(2,3);//通过直接对sum传递参数 printf("%d\n",result); return 0; }</strong></span>
2. Pass-by-Pointer
Der Unterschied zwischen Pass-by-Address und Pass-by-Value besteht darin, dass die Speicheradresse des tatsächlichen Parameters an den entsprechenden Formularparameter übertragen wird , sodass der formale Parameterzeiger und der tatsächliche Parameterzeiger auf dieselbe Adresse zeigen. Daher wirken sich alle Änderungen am Inhalt der Adresse, auf die der formale Parameterzeiger in der aufgerufenen Funktion zeigt, auf die tatsächlichen Parameter aus.
#include<stdio.h> int sum(int* x,int* y) { return *x+*y; } int main() { int a,b; a=2; b=3; int result=sum(&a,&b);//通过地址对sum传递参数 printf("%d\n",result); return 0; }
3. Übergabe per Referenz (Übergabe per Referenz)
Mit einer Referenz als Parameter kann jede Operation am formalen Parameter den entsprechenden The ändern Daten machen Funktionsaufrufe bequem und natürlich. Die Möglichkeit der Referenzübergabe besteht darin, beim Definieren der Funktion den Referenzoperator „&“ vor den formalen Parametern hinzuzufügen. Die Referenz entspricht dem Alias des tatsächlichen Parameters. Es handelt sich um dieselbe Variable oder denselben Wert wie der tatsächliche Parameter, und seine Änderung entspricht der Änderung des tatsächlichen Parameters.
<span style="font-size:18px;"><strong>#include<stdio.h> int sum(int& x,int& y)<span style="color:#ff0000;">//定义引用类型</span> { return x+y; } int main() { int a,b; a=2; b=3; int result=sum(a,b);//通过引用对sum传递参数 printf("%d\n",result); return 0; }</strong></span>
Empfohlenes Tutorial: „PHP-Video-Tutorial“
Das obige ist der detaillierte Inhalt von3 Möglichkeiten und Unterschiede der Funktionsparameterübergabe in PHP (mit ausführlicher Erklärung). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!