Was ist eine Referenz?
Zitieren in PHP bedeutet, auf denselben Variableninhalt mit unterschiedlichen Namen zuzugreifen. Dies ist kein C-Zeiger; die Referenz ist ein Symboltabellenalias. Beachten Sie, dass in PHP Variablennamen und Variableninhalte unterschiedlich sind, sodass derselbe Inhalt unterschiedliche Namen haben kann. Die engste Analogie sind die Dateinamen von Unix und die Dateien selbst – die Variablennamen sind die Verzeichniseinträge und die Variableninhalte sind die Dateien selbst. Referenzen können als Hardlinks in Unix-Dateisystemen betrachtet werden.
Eins: Referenz auf Variablen
<?php $a =100; $b = &$a; echo $b; //这里输出100 echo $a; //这里输出100 ,说明$a,和$b的值都是一百。 $b= 200; echo $a; //这里输出200 echo $b; //这里输出200,这就可以看出他们用的是同一个地址。改变一个,另一个也会跟着改变。 ?>
Zwei: Übergabe von Werten per Referenz in Funktionen
<?php function main($a,$b){ $b= $a+100; return $b; } main(55,&$b); //这里的$b其实就是把它的内存地址传递给函数main中的$b参数,通过参数$b的改变而改变外面的$b的值。 echo $b; //这里会输出155, ?>
Drei: Objektreferenz nach Wert
Objektreferenz
<?php class club{ var $name="real madrid"; } $b=new club; $c=$b; echo $b->name;//这里输出real madrid echo $c->name;//这里输出real madrid $b->name="ronaldo"; echo $c->name;//这里输出ronaldo ?>
Dereferenzierung
Wenn Sie eine Referenz aufheben, brechen Sie einfach die Bindung zwischen dem Variablennamen und dem Variableninhalt auf . . Dies bedeutet nicht, dass die Variableninhalte zerstört werden. Beispiel:
<?php $a = 'ronaldo' $b =&$a; unset ($a); ?>
setzt $b nicht zurück, sondern nur $a.
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der drei Referenzbeispielcodes der PHP-Variablenreferenz, Funktionsreferenz und Objektreferenz. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!