Maison >développement back-end >tutoriel php >Explication détaillée des trois exemples de codes de référence de référence de variable PHP, de référence de fonction et de référence d'objet

Explication détaillée des trois exemples de codes de référence de référence de variable PHP, de référence de fonction et de référence d'objet

伊谢尔伦
伊谢尔伦original
2017-07-17 16:48:171589parcourir

Qu'est-ce qu'une référence

Citer en PHP signifie accéder au même contenu de variable avec des noms différents. Ce n’est pas comme un pointeur C, la référence est un alias de table de symboles. Notez qu'en PHP, les noms et les contenus des variables sont différents, donc le même contenu peut avoir des noms différents. L'analogie la plus proche concerne les noms de fichiers Unix et les fichiers eux-mêmes : les noms de variables sont les entrées du répertoire et le contenu des variables est les fichiers eux-mêmes. Les références peuvent être considérées comme des liens physiques dans les systèmes de fichiers Unix.
Un : Référence à des variables

<?php
$a =100;
$b = &$a;
echo $b;    //这里输出100
echo $a;    //这里输出100  ,说明$a,和$b的值都是一百。
$b= 200;
echo $a;    //这里输出200
echo $b;    //这里输出200,这就可以看出他们用的是同一个地址。改变一个,另一个也会跟着改变。
?>

Deux : Passer des valeurs par référence dans les fonctions

<?php
function main($a,$b){
    $b= $a+100;
    return $b;
}
main(55,&$b);      //这里的$b其实就是把它的内存地址传递给函数main中的$b参数,通过参数$b的改变而改变外面的$b的值。
echo $b;  //这里会输出155,
?>


Trois : référence d'objet par valeur
Référence d'objet

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

Déréférence
Lorsque vous supprimez une référence, vous rompez simplement la liaison entre le nom de la variable et le contenu de la variable . Cela ne signifie pas que le contenu des variables est détruit. Par exemple :

<?php
$a = &#39;ronaldo&#39;
$b =&$a;
unset ($a);
?>

ne supprimera pas $b, juste $a.

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