Heim >Backend-Entwicklung >PHP-Tutorial >Detaillierte Erläuterung der Referenzübergabe und Rückgabe von Funktionen in PHP (mit Code)
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.
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 = 'abc';
$b = &$a;
var_dump($a,$b);//均为'abc'
$b = 123;
var_dump($a,$b);//均为123
<?php
function test(&$a){
$a = $a + 100;
}
$b = 1;
test($b);
var_dump($b);//101
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('test',array(&$b));
var_dump($b);//11
Empfohlenes Lernen: „
“
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!