Heim >Backend-Entwicklung >PHP-Problem >Werden alle Parameter in PHP-Strings übergeben?
Nein, PHP-Parameter können Zeichenfolgen, Zahlen, boolesche Werte, Arrays usw. sein. Ab PHP Version 5.6 wird die Übergabe von Array-Parametern unterstützt. Die formalen Parameter der Funktion können „…“ verwenden, um anzugeben, dass die Funktion eine variable Anzahl von Parametern akzeptieren kann, und die variablen Parameter werden an die Funktion übergeben als Array. Die Syntax „Funktion“ Funktionsname (...$arr){//Ausführungscode}“.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 8.1, DELL G3-Computer
PHP Benutzerdefinierte Funktion
Um eine benutzerdefinierte Funktion in PHP zu deklarieren, können Sie das folgende Syntaxformat verwenden :
function 函数名 (参数1, 参数2, ..., 参数n){ 函数体; return 返回值; }
Beim Deklarieren einer Funktion sind auch die Klammern „()“ nach dem Funktionsnamen erforderlich. Die Klammern enthalten eine Reihe akzeptabler Parameterlisten. Die Parameter sind die deklarierten Variablen, und dann können die Variablen beim Aufrufen verwendet werden Funktion übergeben. Die Parameterliste kann leer sein oder einen oder mehrere Parameter enthalten, die durch Kommas getrennt sind.
Verwenden Sie in PHP einfach den Funktionsnamen und die Parameterliste, um einen Funktionsaufruf durchzuführen, wo immer eine Funktion benötigt wird:
函数名 (参数1, 参数2, ..., 参数n);
Es ist ersichtlich, dass die Wenn die Parameterliste einer Funktion aus null oder mehr Parametern besteht, werden die einzelnen Parameter durch Kommas getrennt.
Je nachdem, wo die Parameter verwendet werden, werden Parameter in zwei Typen unterteilt: formale Parameter und tatsächliche Parameter.
Formale Parameter sind die Parameterliste in Klammern nach dem Funktionsnamen beim Definieren einer Funktion (als „formale Parameter“ bezeichnet). Die formalen Parameter selbst haben ebenso wie ihr Name keine spezifischen Werte. Da der Funktionskörper externe Parameter verwenden muss, müssen die formalen Parameter und die Daten im Funktionskörper durchlaufen werden, damit die Parameter korrekt übergeben werden können. Die formalen Parameter sind in der folgenden Abbildung dargestellt.
Die tatsächlichen Parameter sind die Parameter in Klammern nach dem Funktionsnamen, wenn wir die Funktion aufrufen (als „tatsächliche Parameter“ bezeichnet). Die tatsächlichen Parameter und formalen Parameter müssen der Reihe nach eins zu eins übereinstimmen Es ersetzt die formalen Parameter im Funktionskörper. Der Parameter der Funktion kann ein bestimmter Wert oder eine Variable sein. Die tatsächlichen Parameter sind in der folgenden Abbildung dargestellt.
php-Parameterübergabe
Beim Aufrufen einer Funktion müssen Sie Parameter an die Funktion übergeben, die als tatsächliche Parameter bezeichnet werden, während die von der Funktion definierten Parameter als formale Parameter bezeichnet werden . Es gibt vier Möglichkeiten, Parameter an eine Funktion zu übergeben: Übergabe als Wert, Übergabe als Referenz, Standardparameter und Parameter variabler Länge.
1. Wertübergabe
Die Wertübergabe ist die Standardmethode zur Wertübergabe für Funktionen in PHP, auch bekannt als „Kopieren nach Wert“. Wie der Name schon sagt, kopiert die Wertübergabemethode den Wert des tatsächlichen Parameters und übergibt ihn dann an den formalen Parameter der Funktion, sodass die Bearbeitung des Parameterwerts in der Funktion keine Auswirkungen auf die tatsächlichen Parameter außerhalb der Funktion hat. Wenn Sie also nicht möchten, dass die Funktion den Wert des tatsächlichen Parameters ändert, können Sie ihn als Wert übergeben.
【Beispiel】 Im Folgenden wird eine einfache Funktion definiert. Die Funktion verfügt über zwei Parameter, und die Werte der Parameter werden in der Funktion ausgetauscht.
<?php function swap($a, $b){ echo '函数内,交换前 $a = '.$a.', $b = '.$b.'<br>'; $temp = $a; $a = $b; $b = $temp; echo '函数内,交换后 $a = '.$a.', $b = '.$b.'<br>'; } $x = 5; $y = 7; echo '函数外,交换前 $x = '.$x.', $y = '.$y.'<br>'; swap($x, $y); echo '函数外,交换后 $x = '.$x.', $y = '.$y; ?>
Die laufenden Ergebnisse sind wie folgt:
2. Übergabe als Referenz
Die Referenzübergabe von Parametern besteht darin, die Speicheradresse des tatsächlichen Parameters zu kopieren und sie dann an den formalen Parameter der Funktion zu übergeben Sowohl der tatsächliche Parameter als auch der formale Parameter verweisen auf dieselbe Speicheradresse, sodass sich die Operation der Funktion auf die formalen Parameter auf die tatsächlichen Parameter außerhalb der Funktion auswirkt.
Bei der Referenzübergabe wird die Speicheradresse des tatsächlichen Parameters an den formalen Parameter der Funktion übergeben. Daher zeigen die tatsächlichen Parameter und die formalen Parameter auf dieselbe Speicheradresse. Zu diesem Zeitpunkt wirken sich alle Operationen innerhalb der Funktion auf die Werte tatsächlicher Parameter außerhalb der Funktion aus. Die Methode der Referenzübergabe besteht darin, ein &-Symbol auf der Grundlage der Wertübergabe hinzuzufügen, wie unten gezeigt:
function name (&参数1, &参数2, ..., &参数3) { ... }
[Beispiel] Passen Sie den Code des obigen Beispiels leicht an und verwenden Sie die Methode der Referenzübergabe, um Parameter an zu übergeben Swap-Funktion. Der Code lautet wie folgt:
<?php function swap(&$a, &$b){ echo '函数内,交换前 $a = '.$a.', $b = '.$b.'<br>'; $temp = $a; $a = $b; $b = $temp; echo '函数内,交换后 $a = '.$a.', $b = '.$b.'<br>'; } $x = 5; $y = 7; echo '函数外,交换前 $x = '.$x.', $y = '.$y.'<br>'; swap($x, $y); echo '函数外,交换后 $x = '.$x.', $y = '.$y; ?>
Die laufenden Ergebnisse sind wie folgt:
3. Standardparameter
Die Standardparameter dienen zur Angabe eines Standardwerts für einen oder mehrere formale Parameter von Wenn beim Aufruf der Funktion der entsprechende Parameter nicht übergeben wird, verwendet die Funktion diesen Standardwert, wodurch Fehler beim Aufruf ohne Parameter vermieden und einige Programme sinnvoller gemacht werden können. Bei Übergabe der entsprechenden Parameter wird dieser Standardwert ersetzt.
Die Standardparameter der Funktion lauten wie folgt:
function name ($str = 'hello', $url) { echo $str; }
Unter ihnen ist die „Hallo chinesische Website“ nach dem formalen Parameter $str der Standardwert, und die formalen Parameter müssen mithilfe von =
mit dem Standardwert verbunden werden.
[Beispiel] Definieren wir eine Funktion mit Standardparametern, wie unten gezeigt:
<?php function add($a, $b=56){ echo $a.' + '.$b.' = '.($a+$b).'<br>'; } add(11); add(37, 29); ?>
默认参数也可以是多个,而且默认参数必须放在非默认参数右边,并且指定默认参数的值必须是一个具体的值,如数字、字符串,而不能是一个变量。
4、可变长度参数--将一个数组传递给函数
在 PHP 5.6 及以后的版本中,函数的形式参数可使用…来表示函数可接受一个可变数量的参数,可变参数将会被当作一个数组传递给函数。示例如下:
<?php function test(...$arr){ var_dump($arr); } test(1, 2, 3, 4); test(5, 6, 7, 8, 9, 10); ?>
推荐学习:《PHP视频教程》
Das obige ist der detaillierte Inhalt vonWerden alle Parameter in PHP-Strings übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!