Heim  >  Artikel  >  Backend-Entwicklung  >  Gibt Referenzen und lokale statische Variablen in PHP zurück

Gibt Referenzen und lokale statische Variablen in PHP zurück

*文
*文Original
2017-12-28 10:24:381071Durchsuche

Dieser Artikel führt hauptsächlich in das Verständnis von Rückgabereferenzen und lokalen statischen Variablen in PHP ein. Die allgemeine Methode zum Schreiben von Rückgabereferenzen besteht darin, & vor dem Methodennamen hinzuzufügen. Ich hoffe, es hilft allen.

Lesen Sie zuerst das Handbuch
==========
Die Rückgabe einer Referenz von einer Funktion muss sowohl bei der Deklaration der Funktion als auch bei der Zuweisung erfolgen den Rückgabewert an eine Variable. Verwenden Sie den Anführungszeichenoperator &:

<?php  
function &returns_reference()  
{  
    $someref = 0;  
    return $someref;  
}  
   
$newref = &returns_reference();//相当于 $newref = &$someref;  
?>

Weitere Informationen zum Anführungszeichen finden Sie in der Erklärung zum Anführungszeichen.

Werfen wir einen Blick auf ein einzelnes Instanzregistrierungsmuster, das viele Open-Source-Codes gerne verwenden

class a{}  
class b{}  
function & aa($name)  
{  
    static $class = array(); //局部静态变量 不随方法的执行结束而消失 而是坚持到整个源程序结束时才结束生命周期  
    if(!$class[$name])       //所以 此处的声明/初始化语句 只在首次声明时起作用  
    {                        //之后再调用此方法时, 静态变量不再重新初始化value  
        $class[$name] = new $name();  
    }  
    return $class[$name];  
}  
$a = & aa(&#39;a&#39;);  
$b = & aa(&#39;b&#39;);  
   
$a2 = & aa(&#39;a&#39;);  
$b2 = & aa(&#39;b&#39;);  
   
echo $a === $a2 ? &#39;$a和$a2是同一个实例化对象<br/>&#39; : &#39;&#39;;  
echo $b === $b2 ? &#39;$b和$b2是同一个实例化对象&#39; : &#39;&#39;;

Verwandte Empfehlungen:

Verwendung von PHP-Referenzen (&)

Detaillierte Erläuterung der PHP-Referenzzuweisung

statische PHP-Variablen Detaillierte Erläuterung der Initialisierungsinstanz

Das obige ist der detaillierte Inhalt vonGibt Referenzen und lokale statische Variablen in PHP zurück. 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