Heim > Backend-Entwicklung > PHP-Problem > Werden alle Parameter in PHP-Strings übergeben?

Werden alle Parameter in PHP-Strings übergeben?

青灯夜游
Freigeben: 2023-03-17 16:04:01
Original
5069 Leute haben es durchsucht

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}“.

Werden alle Parameter in PHP-Strings übergeben?

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 返回值;
}
Nach dem Login kopieren

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);
Nach dem Login kopieren

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.

Werden alle Parameter in PHP-Strings übergeben?

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.

Werden alle Parameter in PHP-Strings übergeben?

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 &#39;函数内,交换前 $a = &#39;.$a.&#39;, $b = &#39;.$b.&#39;<br>&#39;;
    $temp = $a;
    $a = $b;
    $b = $temp;
    echo &#39;函数内,交换后 $a = &#39;.$a.&#39;, $b = &#39;.$b.&#39;<br>&#39;;
  }

  $x = 5;
  $y = 7;
  echo &#39;函数外,交换前 $x = &#39;.$x.&#39;, $y = &#39;.$y.&#39;<br>&#39;;
  swap($x, $y);
  echo &#39;函数外,交换后 $x = &#39;.$x.&#39;, $y = &#39;.$y;
?>
Nach dem Login kopieren

Die laufenden Ergebnisse sind wie folgt:

Werden alle Parameter in PHP-Strings übergeben?

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) {
  ...  
  }
Nach dem Login kopieren

[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 &#39;函数内,交换前 $a = &#39;.$a.&#39;, $b = &#39;.$b.&#39;<br>&#39;;
    $temp = $a;
    $a = $b;
    $b = $temp;
    echo &#39;函数内,交换后 $a = &#39;.$a.&#39;, $b = &#39;.$b.&#39;<br>&#39;;
  }

  $x = 5;
  $y = 7;
  echo &#39;函数外,交换前 $x = &#39;.$x.&#39;, $y = &#39;.$y.&#39;<br>&#39;;
  swap($x, $y);
  echo &#39;函数外,交换后 $x = &#39;.$x.&#39;, $y = &#39;.$y;
?>
Nach dem Login kopieren

Die laufenden Ergebnisse sind wie folgt:

Werden alle Parameter in PHP-Strings übergeben?

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 = &#39;hello&#39;, $url) {
  echo $str; 
}
Nach dem Login kopieren

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.&#39; + &#39;.$b.&#39; = &#39;.($a+$b).&#39;<br>&#39;;
  }
  add(11);
  add(37, 29);
?>
Nach dem Login kopieren

Werden alle Parameter in PHP-Strings übergeben?

默认参数也可以是多个,而且默认参数必须放在非默认参数右边,并且指定默认参数的值必须是一个具体的值,如数字、字符串,而不能是一个变量。

4、可变长度参数--将一个数组传递给函数

在 PHP 5.6 及以后的版本中,函数的形式参数可使用…来表示函数可接受一个可变数量的参数,可变参数将会被当作一个数组传递给函数。示例如下:

<?php
    function test(...$arr){
        var_dump($arr);
    }
    test(1, 2, 3, 4);
    test(5, 6, 7, 8, 9, 10);
?>
Nach dem Login kopieren

Werden alle Parameter in PHP-Strings übergeben?

推荐学习:《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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage