php的引用操作符&
来源:互联网 发布:淘宝的经营模式 编辑:程序博客网 时间:2024/04/30 03:53
php的引用操作符&
说实在话在一年前战地写PHP代码的时候从来没有想过什么系统资源什么的,幸好PHP对于内存等其它的系统资源回收还是相当积极的。但是不管怎么样还是要注意的,毕竟资源是是宝贵的嘛。
那么我们开始今天的话题吧,说说PHP的引用操作符&,熟悉C的都知道C中有一个被称为指针的东西,指针就是指向内存地址的。这个&也是具有同样的功能的。
看如下代码:
$source="110"; $a=$source; $b=&$source; $source="120"; echo $a."\r\n",$b;
这段代码运行之后你会发现一个问题,$a的值并没有根据第四行代码$source的值改变而变化依然是原来的赋值“110”,这个很好理解,$a赋值的时候$source的值就是110,她只是把$source的值copy一个给了自己。
显然你也会注意到变量$b的值发生了变化,$a和变量$b几乎是同时的赋值,为什么出现了如此巨大的差异呢——一个管打人的一个管救人的,差异够大哦!
这就是PHP的引用操作符&的问题了,变量$b因为在赋值的时候应用到了&导致,$b不是copy“110”给自己而是,直接指向了$source的老巢,以后$source就是他$b了。$source 不管怎么变化都会导致$b的变化——很像是一个主机连接两个显示器的关系,既然是这样的关系了$b的变化当然会导致$source的变化了
看:
$b=122; echo $source;
输出的结果:122,知道了吧这两个变量从此就是一个“人”了,不要欺负他们哦!
其实为了程序的可读性和随后的编程的误操作,我是不推荐使用这个&引用操作符的,你想啊。你在10000行前,使用了一个$b=&$source;到10000行之后你就不一定记得了,万一你不小心赋错了值,排错的时候就够你喝一壶了!呵呵……
其实这个操作符更多的是用在了数据库连接上,因为我们创建数据库连接对象的时候,往往只需要一个,太多了没用啊。
假设我们有一个类:
class MysqlConnect{} //用来创建数据库连接,那么我们每次调用的时候可以这样写 $conn=& new MysqlConnect();
这样的写法可以保证数据库的连接不会被重复的创建,耗费系统资源。但是如果你真的需要多个不同的连接,你千万不要这样写哦。
当然创建对象的时候这个PHP引用操作符确实是有用的,如果你一个PHP脚本程序上创建了上千个对象的话,系统的开销确实是很大的。如果没有必要创建多个的,尽量使用&吧!
from:http://www.phpiask.com/?p=412
- php的引用操作符&
- PHP引用与global操作符
- PHP引用符&的用法介绍
- PHP引用符&的用法介绍
- PHP引用符&的用法介绍
- PHP引用符&的用法详细解析
- PHP引用符&的用法详细解析
- PHP引用符&的用法举例
- PHP引用操作以及外部操作函数的局部静态变量的方法
- 关于php的引用
- php的引用
- php的引用
- PHP引用的用法
- php函数的引用
- php 引用(&)的使用
- php的指针引用
- 详解 PHP 的引用
- php的引用&
- 高质量C++编程_第6章_函数设计(2)
- C语言课程设计
- Android 创建与解析XML(二)—— Dom方式
- “编程思维”与“编程思维”的培养
- 学习WCF\WPF\EF技术(二)
- php的引用操作符&
- 22个有用的配色工具
- Android 创建与解析XML(三)—— Sax方式
- 转帖:免费申请样片的公司大全!!
- 学习WCF\WPF\EF技术(三)
- linux从硬盘制作ISO镜像
- AppWidgetProvider+httpclient实现的桌面新闻
- 学习WCF\WPF\EF技术(四)--添加log4net功能能
- 如何安装cygwin