Heim  >  Artikel  >  Backend-Entwicklung  >  Wozu dient das kaufmännische Und vor der PHP-Funktion?

Wozu dient das kaufmännische Und vor der PHP-Funktion?

巴扎黑
巴扎黑Original
2017-08-05 09:58:301532Durchsuche

In diesem Artikel wird hauptsächlich die Zerlegung des kaufmännischen Und-Zeichens in PHP vorgestellt. Seine Funktion wird als Referenzrückgabe bezeichnet. Eine ausführliche Erklärung finden Sie im Inhalt dieses Artikels 🎜>

php Was bedeutet das Hinzufügen eines &-Symbols vor einer Variablen? Es bedeutet, dass zwei Variablen gleichzeitig auf dieselbe Adresse verweisen Hinzufügen eines &-Symbols vor einer PHP-Funktion? Nachfolgend finden Sie zunächst zwei Demonstrationscodes und anschließend Erläuterungen.


function &chhua() 
{ 
static $b="www.jb51.net";//申明一个静态变量 
$b=$b."WEB开发"; 
echo $b; 
return $b; 
} 
 
$a=chhua();//这条语句会输出 $b的值 为“www.jb51.netWEB开发” 
$a="PHP"; 
echo "<Br>";
$a=chhua();//这条语 句会输出 $b的值 为“www.jb51.netWEB开发WEB开发”  
echo "<Br>";
$a=&chhua();//这条语句会输出 $b的值 为“www.jb51.netWEB开发WEB开发WEB开发” 
echo "<Br>";
$a="JS"; 
$a=chhua(); //这条语句会输出 $b的值 为"JSWEB开发"
 
 
function &test()
{
	static $b=0;//申明一个静态变量
	$b=$b+1;
	echo $b;
	return $b;
}
 
$a=test();//这条语句会输出 $b的值 为1
$a=5;
$a=test();//这 条语句会输出 $b的值 为2
$a=&test();//这条语句会输出 $b的值 为3
$a=5;
$a=test(); //这条语句会输出 $b的值 为6
Lassen Sie uns die zweite Funktion erklären.

Was Sie auf diese Weise erhalten, ist $a=test(); eigentlich keine Referenzrückgabe der Funktion. Es unterscheidet sich nicht von einem gewöhnlichen Funktionsaufruf.

Was den Grund betrifft: Dies ist der Regulierung von PHP

php Es ist festgelegt, dass das, was durch $a=&test(); erhalten wird, die Referenzrückgabe der Funktion ist.

Was eine Referenzrückgabe ist (im PHP-Handbuch heißt es: Referenz return wird verwendet, wenn Sie eine Funktion verwenden möchten, um eine Referenz zu finden, die gebunden werden soll. Wenn bestimmt wird, an welche Variable )

Verwenden Sie zur Erläuterung das obige Beispiel und rufen Sie die Funktion auf die Art und Weise auf, wie

$a=test() weist $a lediglich den Wert der Funktion zu, und $a tut dies. Jede Änderung wirkt sich nicht auf $b in der Funktion aus.
Wenn die Funktion über $a=&test() aufgerufen wird, ist ihre Funktion gleich Um die Speicheradresse der $b-Variablen in $b mit der $a-Variablen zu vergleichen, zeigt
auf die gleiche Stelle ($a=&b;). ). Wenn Sie also den Wert von $a ändern, ändert sich auch der Wert von $b, sodass nach der Ausführung von:
$a=&test(); der Wert von $b = 5 wird.

Das obige ist der detaillierte Inhalt vonWozu dient das kaufmännische Und vor der PHP-Funktion?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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