设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
立即注册
只需一步,快速开始
快捷导航
登录
注册
论坛首页
BBS
建站模版
微站设计
虚拟主机
企业邮箱
博客日志
Blog
搜索
搜索
搜索
热搜
长春
优惠
活动
做网站
本版
帖子
用户
本版
帖子
用户
请
登录
后使用快捷导航
没有帐号?
立即注册
道具
勋章
任务
留言板
设置
我的收藏
退出
时时商务社区
»
论坛首页
›
建站资源
›
建站技术
›
PHP中返回引用类型的方法
返回列表
查看:
568
|
回复:
0
PHP中返回引用类型的方法
[复制链接]
网络通达
当前离线
积分
7881
2647
主题
2647
帖子
7881
积分
论坛元老
论坛元老, 积分 7881, 距离下一级还需 9992118 积分
论坛元老, 积分 7881, 距离下一级还需 9992118 积分
积分
7881
发消息
电梯直达
楼主
发表于 2018-2-14 05:47:12
|
只看该作者
|
正序浏览
|
阅读模式
返回引用,在定义和调用的时候 & 都不可以省略。
这是个比较容易混淆的概念,如果不是出于某些特殊的原因,建议还是不要使用。
说他很容易混,是因为 Reference 在 PHP5 中的变化,造成其在 PHP4/PHP5 中表现的行为差异比较大。
举个例子说明:
[U]复制代码[/U] 代码如下:
运行一遍上面的代码,差不多就明白了,使用 &getRef() 将把 $colorRef 绑定到 $color 上面,也就是说 $colorRef 和 $color 两个变量是指向同一个值了。当改变其中一个值时,另一个也会跟着变化。
如果 $color 是一个数组,也是一样的,上面的代码在 PHP4/5 的任意版本中,表现行为都是一样的。
当 $color 是一个 Object 的时候,问题就出现了。
PHP4 中 getCopy 仍然会返回一个复制的 Object;&getRef() 返回引用。
PHP5 中就有点另类了,
最新的 PHP5.2,行为和 PHP4 一样,getCopy() 返回复制,&getRef() 返回引用。
但是某些的 PHP5 的版本这里稍微有些不同,比如 PHP5.1.6,表现为 getCopy() 和 &getRef() 都是引用。
这里 getCopy() 和 &getRef() 是两个全局函数,如果放到类里面成为类的 Member functions,那又会是另外一番景象……
PS:返回 References 并不会提高性能,有时候反而降低性能,所以不要想当然的使用这个特性来“优化”程序。
有问题看看手册大部分时候都可以找到答案:
http://cn.php.net/manual/en/language.references.php
您可能感兴趣的文章:
php 传值赋值与引用赋值的区别
通过5个php实例细致说明传值与传引用的区别
php引用传值实例详解学习
PHP引用(&)各种使用方法实例详解
PHP、Nginx、Apache中禁止网页被iframe引用的方法
PHP的引用详解
PHP如何通过传引用的思想实现无限分类(代码简单)
php5.4传引用时报错问题分析
PHP引用的调用方法分析
php函数传值的引用传递注意事项分析
分享到:
QQ好友和群
QQ空间
腾讯微博
腾讯朋友
收藏
0
回复
使用道具
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
浏览过的版块
电商运营
用户反馈
客户端