php 中返回引用类型的方法代码示例
程序员文章站
2022-03-17 10:54:44
...
php的引用(就是在变量或者函数、对象等前面加上&符号) //最重要就是 删除引用的变量 ,只是引用的变量访问不了,但是内容并没有销毁 在PHP 中引用的意思是:不同的名字访问同一个变量内容.
这篇文章主要介绍了PHP中返回引用类型的方法,
<?php $color = 'YellowGreen'; function &getRef() { global $color; return $color; } function getCopy() { global $color; return $color; } $colorRef = &getRef(); $colorRef = 'Blue'; //$colorCopy = getCopy(); //$colorCopy = 'Black'; var_dump($color); var_dump($colorRef); //var_dump($colorCopy);
运行一遍上面的代码,差不多就明白了,使用 &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 并不会提高性能,有时候反而降低性能,所以不要想当然的使用这个特性来“优化”程序。
以上就是php 中返回引用类型的方法代码示例的详细内容,更多请关注其它相关文章!
上一篇: php版微信自定义回复功能详解
推荐阅读
-
php做下载文件的实现代码及文件名中乱码解决方法
-
php快速查找数据库中恶意代码的方法
-
php中unserialize返回false的解决方法
-
PHP中返回引用类型的方法
-
解决ASP.NET MVC返回的JsonResult 中 日期类型数据格式问题,和返回的属性名称转为“驼峰命名法”和循环引用问题
-
Java中成员变量与局部变量的区别、对象类型作为方法的参数和方法的返回值
-
PHP中的输出echo、print、printf、sprintf、print_r和var_dump的示例代码
-
php正则删除html代码中class样式属性的方法 原创
-
PHP正则删除html代码中a标签并保留标签内容的方法 原创
-
JavaScript中各种引用类型的常用操作方法小结