php使用太多的引用性能有问题吗
array_map(function($item) use(&$i, &$tmpVar) {
$i++;
$tmpVar['t'.$i] = $item;
}, $ct_info);
最近项目中使用了太多array_map代替foreach来处理数据,而且使用了匿名函数及引用(&
)
这样写太多的引用
会不会导致php性能问题
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
不会有影响,推荐你看看《深入理解PHP内核》。PHP变量在解释器中,实际会以
zval
结构体保存变量的信息,变量的引用只是符号表中指向同一个zval
的一条记录而已。http://www.php-internals.com/book/?p=chapt03/03-01-00-variables-structure
使用引用不会造成性能问题,但是在对引用不熟悉的情况下滥用引用容易造成一些奇怪的错误,而且这些错误一般都很难排查。
我来对 @有明 的答案做点补充吧:
比如这个:
@SyuTingSong
说的PHP内核保存变量是一方面。
另外,PHP作为web程序运行的时候,总会在请求结束的时候把变量引用之类的释放掉。所以,多几个引用,关系不大。
谢谢大家 无法全部采纳,均点赞