Heim > Backend-Entwicklung > PHP-Tutorial > Detaillierte Erläuterung der Referenzübergabe und Rückgabe von Funktionen in PHP (mit Code)

Detaillierte Erläuterung der Referenzübergabe und Rückgabe von Funktionen in PHP (mit Code)

青灯夜游
Freigeben: 2023-04-09 20:48:02
nach vorne
3288 Leute haben es durchsucht

In diesem Artikel erfahren Sie mehr über die Referenzen von PHP und stellen die Referenzübergabe und Referenzrückgabe von Funktionen im Detail vor. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.

Detaillierte Erläuterung der Referenzübergabe und Rückgabe von Funktionen in PHP (mit Code)

PHP-Referenz (also das Hinzufügen eines kaufmännischen Und-Zeichens vor einer Variablen, Funktion, einem Objekt usw.)

Referenz in PHP bedeutet: Verschiedene Namen greifen auf denselben Variableninhalt zu.
Es gibt einen Unterschied zu Zeigern in der C-Sprache. Der Zeiger in der Sprache C speichert den Inhalt der Variablen und die im Speicher gespeicherte Adresse.

1. Variablenreferenz

Mit der PHP-Referenz können Sie zwei Variablen verwenden, um auf denselben Inhalt zu verweisen ist eigentlich die Speicheradresse, an der sich der Variableninhalt von $b befindet. Durch Ändern des Werts von $a in der Funktion kann der Wert von $b geändert werden

Hinweis:

Im obigen „test($ b); " Fügen Sie nicht das &-Symbol vor $b hinzu, sondern in der Funktion „call_user_func_array“, wenn Sie Parameter als Referenz übergeben möchten, benötigen Sie das &-Symbol

<?php
    $a = &#39;abc&#39;;
    $b = &$a;
    var_dump($a,$b);//均为&#39;abc&#39;
    $b = 123;
    var_dump($a,$b);//均为123
Nach dem Login kopieren

3. Die Referenz der Funktion gibt

<?php
    function test(&$a){
        $a = $a + 100;
    }
    $b = 1;
    test($b);
    var_dump($b);//101
Nach dem Login kopieren
Auf diese Weise erhält $a= test(); tatsächlich keine Funktionsreferenz zurück, was sich nicht von einem gewöhnlichen Funktionsaufruf unterscheidet. Durch den Aufruf einer Funktion in der Methode $a=test() wird der Wert der Funktion nur $a zugewiesen, und alle Änderungen an $a wirken sich nicht auf $b in der Funktion aus. Wie wäre es mit dem Aufruf der Funktion in der Methode $a=&test(? )-Methode? Ihre Funktion besteht darin, die Speicheradresse der $b-Variablen in $b auf die gleiche Stelle wie die Speicheradresse der $a-Variablen zu verweisen.

Statische Variablen werden hier verwendet, um jedem die Referenzrückgabe der Funktion verständlich zu machen. Tatsächlich wird die Referenzrückgabe der Funktion hauptsächlich in Objekten verwendet:

<?php
    function test(&$a){
        $a = $a + 10;
    }
    $b = 1;
    call_user_func_array(&#39;test&#39;,array(&$b));
    var_dump($b);//11
Nach dem Login kopieren
Empfohlenes Lernen: „

PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Referenzübergabe und Rückgabe von Funktionen in PHP (mit Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:csdn.net
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