Heim >Backend-Entwicklung >PHP-Problem >Einführung in den PHP-Referenzfall (&).
Variablenreferenz
Fall:
<?php //变量单独引用 $test = "a string!\n"; $quote = &$test; echo $test; //a string! echo $quote;//a string! $quote = "exchange!\n"; echo $test; //exchange! echo $quote;//exchange! unset($quote); echo $test; //exchange! //函数传参引用 $num = 10; echo $num."\n"; test($num); echo $num."\n"; function test( &$num) { $num += 10; }
Schlussfolgerung
Die Variablenreferenz von PHP entspricht verschiedenen Variablen, die auf denselben Inhalt verweisen. Dieser Inhalt wird ebenfalls bearbeitet. Wenn einer der Verweise gelöscht wird, ist der andere Verweis nicht betroffen. Dies ist gleichbedeutend damit, dass die gelöschte Variable nicht mehr auf denselben Inhalt verweist, aber es kann keine Konstante sein. (Entspricht einer Person mit mehreren Namen. Das rechtzeitige Entfernen eines Namens wirkt sich nicht auf die Person als Ganzes aus.)
Empfohlen: PHP-Schulung
Funktionsreferenz Return
Fall 1:
<?php $t = test(); // 1 var_dump($t); // int(1) $t = 20; $t = test(); //2 var_dump($t); //int(2) $t = &test(); //3 var_dump($t) ; //int(3) $t = 20; $t = test(); //21 var_dump($t); //int(21) function &test() { static $test = 0; $test += 1; echo $test."\n"; return $test; }
Fall 2:
?php $t = test(); function &test() { static $test = 0; $test += 1; echo $test."\n"; } $ php test.php 1 PHP Notice: Only variable references should be returned by reference in /home/q/www/zt.dujia.qunar.com/test.php on line 9
Schlussfolgerung:
entspricht $t = &test;, um es ganz klar auszudrücken , es ist immer noch eine variable Referenz zwischen.
Objektreferenz
Fall:
<?php class a{ var $abc="ABC"; } $b=new a; $c=$b; echo $b->abc;//这里输出ABC echo $c->abc;//这里输出ABC $b->abc="DEF"; echo $c->abc;//这里输出DEF ?>
Referenz ist eigentlich ein Variablenraum, dem mehrere Operationsnamen zugewiesen werden Zeigen Sie auf denselben Operationsraum. Wenn ein Operationsname auf seinem Raum arbeitet, ändern sich auch die von anderen Operationsnamen erzielten Ergebnisse.
Die Rolle der Referenz:
Im Allgemeinen nimmt eine Variable jedes Mal, wenn sie deklariert wird, einen bestimmten Platz ein.
Durch die praktische Übergabe von Funktionsparametern kann der Inhalt des ursprünglichen Speicherplatzes direkt geändert und gleichzeitig der Speicherplatzaufwand für Zwischenvariablen verringert werden.
Weitere Informationen zu PHP finden Sie auf der Website kostenloses PHP-Training.
Das obige ist der detaillierte Inhalt vonEinführung in den PHP-Referenzfall (&).. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!