Maison  >  Article  >  développement back-end  >  Renvoyer les références et les variables statiques locales en PHP

Renvoyer les références et les variables statiques locales en PHP

*文
*文original
2017-12-28 10:24:381068parcourir

Cet article présente principalement la compréhension des références de retour et des variables statiques locales en PHP. La manière générale d'écrire des références de retour consiste à ajouter & avant le nom de la méthode. Les variables statiques locales sont également très utiles. J'espère que cela aide tout le monde.

Lisez d'abord le manuel
==========
Le retour d'une référence à partir d'une fonction doit être effectué à la fois lorsque la fonction est déclarée et lors de son affectation la valeur de retour d'une variable Utilisez l'opérateur de citation & :

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

Pour plus d'informations sur la citation, voir l'explication de la citation.

Jetons un coup d'œil à un modèle d'enregistrement à instance unique que de nombreux codes open source aiment utiliser

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;;

Recommandations associées :

Utilisation de la référence PHP (&)

Explication détaillée de l'affectation de la référence PHP

Variables statiques php Explication détaillée de l'instance d'initialisation

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn