Cet article présente principalement la décomposition de l'esperluette avant la fonction en php. Sa fonction est appelée retour de référence, ce qui est un peu abstrait. Veuillez consulter le contenu de cet article pour une explication détaillée. 🎜>
php Inutile de dire, que signifie ajouter un symbole & devant une variable ? Cela signifie que deux variables pointent vers la même adresse en même temps. ajouter un symbole & devant une fonction php ? Vous trouverez ci-dessous deux codes de démonstration, puis des explications.function &chhua() { static $b="www.jb51.net";//申明一个静态变量 $b=$b."WEB开发"; echo $b; return $b; } $a=chhua();//这条语句会输出 $b的值 为“www.jb51.netWEB开发” $a="PHP"; echo "<Br>"; $a=chhua();//这条语 句会输出 $b的值 为“www.jb51.netWEB开发WEB开发” echo "<Br>"; $a=&chhua();//这条语句会输出 $b的值 为“www.jb51.netWEB开发WEB开发WEB开发” echo "<Br>"; $a="JS"; $a=chhua(); //这条语句会输出 $b的值 为"JSWEB开发" function &test() { static $b=0;//申明一个静态变量 $b=$b+1; echo $b; return $b; } $a=test();//这条语句会输出 $b的值 为1 $a=5; $a=test();//这 条语句会输出 $b的值 为2 $a=&test();//这条语句会输出 $b的值 为3 $a=5; $a=test(); //这条语句会输出 $b的值 为6
Ce que vous obtenez de cette façon $a=test(); n'est pas réellement un retour de référence de la fonction.
php Il est stipulé que ce qui est obtenu via $a=&test(); est le retour de référence de la fonction.
$a=test() attribue simplement la valeur de la fonction à $a, et $a le fait. Tout changement n'affectera pas $b dans la fonction.
Lors de l'appel de la fonction via $a=&test(), sa fonction est pour comparer l'adresse mémoire de la variable $b en retour $b avec la variable $a,
pointe vers le même endroit. ). Ainsi, changer la valeur de $a change également la valeur de $b, donc après avoir exécuté :
$a=&test(); $a=5;
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!