Heim > Backend-Entwicklung > PHP-Tutorial > PHP自定义函数名称前加&有什么作用?详细点,写个小demo

PHP自定义函数名称前加&有什么作用?详细点,写个小demo

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-06-06 20:46:35
Original
1170 Leute haben es durchsucht

PHP函数名称前加&有什么作用?详细点,写个小demo

回复内容:

PHP函数名称前加&有什么作用?详细点,写个小demo

这是函数的引用返回,demo如下:

<code>function &foo()
{
    static $`请输入代码`var = 0;
    return ++ $var;
}    

$result1 = foo();
$result2 = & foo();

foo();

echo $result1;//output is 1
echo $result2;//output is 3
</code>
Nach dem Login kopieren

此时result2是对函数内var变量的引用,所以foo执行三次后,var值为3,result2也为3,但是result1只是获得函数执行第一次的返回值,所以为1。
如果你使用了&符号,但是在使用时不加&,这个函数的效果就跟未使用该符号是一样的。

<code>function foo1()
{
    static $var = 0;
    return ++ $var;
}    

$result1 = foo1();

foo1(); 

echo $result1;//output is 1
</code>
Nach dem Login kopieren

此时foo1()和foo()在达到的效果上是没有区别的,但是如果你未加&符号,又想使用引用返回,那么就会报错。

<code>function foo2()
{
    static $var = 0;
    return ++ $var;
}    

$result2 = & foo2();//error here

foo2(); 

echo $result2;
</code>
Nach dem Login kopieren
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