Es gibt zwei Möglichkeiten, Funktionsparameter in PHP zu übergeben: Wertübergabe und Referenzübergabe. Die Wertübergabe überträgt eine Kopie des Variablenwerts, und Änderungen an der Kopie wirken sich nicht auf die Originalvariable aus; die Referenzübergabe überträgt einen Verweis auf die Variable selbst, und Änderungen an der Referenz wirken sich direkt auf die Originalvariable aus. Bei der Formularverarbeitung kann die Wertübertragung zum Abrufen von Daten und die Referenzübertragung zum Ändern von Daten verwendet werden. Die Standardübertragungsmethode ist jedoch die Wertübertragung, und Referenzübertragungsparameter müssen das &-Symbol verwenden.
PHP-Funktionsparameterübergabemethoden
PHP-Funktionsparameterübergabemethoden werden in zwei Typen unterteilt: Referenzübergabe und Wertübergabe.
Wertübergabe
Bei der Wertübergabe erhält die Funktion eine Kopie des Variablenwerts. Änderungen an der Kopie wirken sich nicht auf die Originalvariable aus.
function changeValue($num) { $num = 10; } $num = 5; changeValue($num); echo $num; // 输出 5
Übergabe per Referenz
Bei der Übergabe per Referenz erhält die Funktion eine Referenz auf die Variable selbst. Änderungen an der Referenz wirken sich direkt auf die ursprüngliche Variable aus.
function changeValueByReference(&$num) { $num = 10; } $num = 5; changeValueByReference($num); echo $num; // 输出 10
Praktischer Fall
Bei der Formularverarbeitung müssen wir häufig die vom Formular übermittelten Daten abrufen. Die Wertübergabe kann zum Abrufen von Formulardaten verwendet werden. Wenn wir jedoch die Formulardaten ändern möchten, müssen wir die Referenzübergabe verwenden.
<form action="process_form.php" method="post"> <input type="text" name="name"> <input type="submit"> </form>
// process_form.php <?php function processForm($name) { // 对 $name 进行修改 $name = strtoupper($name); } $name = $_POST['name']; processForm($name); echo $name; // 输出大写后的用户名 ?>
Hinweis:
&
-Symbol verwenden. Das obige ist der detaillierte Inhalt vonWas sind die Unterschiede zwischen PHP-Methoden zur Übergabe von Funktionsparametern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!