php函数的引用与php中变量引用一样,那么今天我们就来看一下函数返回的一些例子,有需要的朋友可以来参考借鉴一下,下面来一起看看吧。
先看代码:
<?php
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
?>
下面解释下:
通过这种方式$a=test();得到的其实不是函数的引用返回,这跟普通的函数调用没有区别,至于原因:这是PHP的规定,PHP规定通过$a=&test(); 方式得到的才是函数的引用返回,至于什么是引用返回呢。
用上面的例子来解释就是
$a=test() 方式调用函数,只是将函数的值赋给$a而已,而$a做任何改变,都不会影响到函数中的$b,而通过 $a=&test() 方式调用函数呢, 他的作用是将 return $b 中的$b变量的内存地址与$a变量的内存地址,指向了同一个地方,即产生了相当于这样的效果 “$a=&$b;” 所以改变的值 也同时改变了�的值 也同时改变了‘b`的值,所以在执行了
$a=&test();
$a=5;
以后,$b的值变为了5。
这里是为了让大家理解函数的引用返回才使用静态变量的,其实函数的引用返回多用在对象中
另附一个PHP官方例子:
$a=test() 方式调用函数,只是将函数的值赋给$a而已,而$a做任何改变,都不会影响到函数中的,而通过�,而通过‘a=&test()方式调用函数呢, 他的作用是将return 中的�‘中的‘b变量的内存地址与变量的内存地址,指向了同一个地方,即产生了相当于这样的效果�‘变量的内存地址,指向了同一个地方,即产生了相当于这样的效果“‘a=&所以改变�‘;”所以改变‘a的值 也同时改变了$b`的值,所以在执行了
$a=&test();
$a=5;
以后,$b的值变为了5。
这里是为了让大家理解函数的引用返回才使用静态变量的,其实函数的引用返回多用在对象中
另附一个PHP官方例子:
//This is the way how we use pointer to access variable inside the class.
<?php
class talker{
private $data = 'Hi';
public function & get(){
return $this->data;
}
public function out(){
echo $this->data;
}
}
$aa = new talker();
$d = &$aa->get();
$aa->out();
$d = 'How';
$aa->out();
$d = 'Are';
$aa->out();
$d = 'You';
$aa->out();
?>
//the output is "HiHowAreYou"
相信看了本文的案例你已经掌握了关于函数引用的方法!
匿名
2025-10-22
盖楼盖楼!
匿名
2025-08-11
沙发沙发
匿名
2025-08-10
https://at.oiik.cn/bing.html
匿名
2025-02-21
实用,我在开发https://minmail.app/时候使用到了
王飞翔
2024-12-30
亲爱的朋友:您好!中国疫情持续蔓延,很多人症状非常严重持久不愈,医院人满为患,各年龄段随地倒猝死的现象暴增,多省感染手足口、甲流、乙流、支原体、合胞及腺病毒的儿童不断攀升,目前各种天灾人祸,天气异象频发。古今中外的很多预言都说了这几年人类有大灾难,如刘伯温在预言中说 “贫者一万留一千,富者一万留二三”,“贫富若不回心转,看看死期到眼前”, 预言中也告诉世人如何逃离劫难的方法,真心希望您能躲过末劫中的劫难,有个美好的未来,请您务必打开下方网址认真了解,内有躲避瘟疫保平安的方法。网址1:https://github.com/1992513/www/blob/master/README.md?abhgc#1 网址2:bitly.net/55bbbb 网址3:https://d3ankibxiji86m.cloudfront.net/30gj 如打不开请多换几个浏览器试
匿名
2024-12-12
Backdata 搜索引擎网址提交入口:https://backdata.net/submit-site.html