博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP 函数引用
阅读量:7143 次
发布时间:2019-06-29

本文共 890 字,大约阅读时间需要 2 分钟。

hot3.png

function &referenceFunc() {    static $foo = '';    return $foo;        }//将静态变量$foo的引用传递给$name$bar = &referenceFunc();$bar .= "hello";//作为普通函数调用echo referenceFunc();//删掉引用unset($bar);//作为普通函数调用$bar = referenceFunc();$bar .= " world";//$foo并不会发生变化echo referenceFunc();

PHP的函数引用是将函数返回值的引用返回给接收变量,函数声明or调用时都需要使用取值运算符 &,但调用时也可以作为普通函数直接使用(此时便没有的函数引用的特性,接收变量会在指向内存新的地址),其他的还有参数引用(值传递/引用传递),对象引用

突破类封装

class Reference {    private $foo;    public function &referenceFoo() {        return $this->foo;    }        public function getFoo() {        echo $this->foo . "
";    }}$obj = new Reference();//将私有变量绑定在了一个普通变量$bar上$bar = &$obj->referenceFoo();//外部操作私有变量$bar .= "access the private var in outside";//输出'access the private var in outside'$obj->getFoo();

当然函数引用不是用来做这些事情的,函数引用主要用处是让你可以为当前对象的某一属性绑定一个额外的别名方便操作

注意定义或调用时都要使用 "&" 运算符,否则则是作为普通函数or方法调用

转载于:https://my.oschina.net/sallency/blog/598943

你可能感兴趣的文章
Yii2的深入学习--自动加载机制
查看>>
sqlserver修改增删改字段
查看>>
设计模式介绍、分类、原则
查看>>
超级好用的解析JSON数据的网站
查看>>
C#正则表达式匹配任意字符
查看>>
Objective-c中@interface、@implementation、@protocal
查看>>
Python yield 使用浅析
查看>>
支持移动设备的图片展示插件
查看>>
php file_exists无效解决办法
查看>>
Mac Jenkins 权限问题
查看>>
查找“CDN、负载均衡、反向代理”等大型网络真实IP地址的方法
查看>>
sketchup
查看>>
批处理中的echo命令图文详解
查看>>
Chrome 自动填充的表单是淡黄色的背景,有方法自定义
查看>>
hough变换中,直线方程从XY空间转换到参数空间的转换过程
查看>>
阿里云server该数据光盘安装操作
查看>>
Onedrive 明年初基础容量缩小到5G,执行这一步骤避免(保持30G)
查看>>
IOS中NSUserDefaults的用法(轻量级本地数据存储)
查看>>
大组合取模之:1<=n<=m<=1e6,1<=p<=1e9
查看>>
百度map android sdk3.5实现定位 并跳转的指定坐标,加入标记
查看>>