Heim > Backend-Entwicklung > PHP-Problem > Einführung in den PHP-Referenzfall (&).

Einführung in den PHP-Referenzfall (&).

Freigeben: 2023-02-28 18:40:01
nach vorne
2245 Leute haben es durchsucht

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;
}
Nach dem Login kopieren

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;   
}
Nach dem Login kopieren

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
Nach dem Login kopieren

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
?>
Nach dem Login kopieren

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!

Verwandte Etiketten:
php
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
Aktuelle Ausgaben
PHP-Datenerfassung?
Aus 1970-01-01 08:00:00
0
0
0
PHP-Erweiterung intl
Aus 1970-01-01 08:00:00
0
0
0
Wie man PHP gut lernt
Aus 1970-01-01 08:00:00
0
0
0
Mehrere PHP-Versionen
Aus 1970-01-01 08:00:00
0
0
0
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage