php函数的引用与返回

admin 2024-01-03 511 阅读 0评论

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"

相信看了本文的案例你已经掌握了关于函数引用的方法!

喜欢就支持以下吧
点赞 0

发表评论

快捷回复: 表情:
aoman baiyan bishi bizui cahan ciya dabing daku deyi doge fadai fanu fendou ganga guzhang haixiu hanxiao zuohengheng zhuakuang zhouma zhemo zhayanjian zaijian yun youhengheng yiwen yinxian xu xieyanxiao xiaoku xiaojiujie xia wunai wozuimei weixiao weiqu tuosai tu touxiao tiaopi shui se saorao qiudale qinqin qiaoda piezui penxue nanguo liulei liuhan lenghan leiben kun kuaikule ku koubi kelian keai jingya jingxi jingkong jie huaixiao haqian aini OK qiang quantou shengli woshou gouyin baoquan aixin bangbangtang xiaoyanger xigua hexie pijiu lanqiu juhua hecai haobang caidao baojin chi dan kulou shuai shouqiang yangtuo youling
提交
评论列表 (有 0 条评论, 511人围观)

最近发表

热门文章

最新留言

热门推荐

标签列表