array_map - php使用太多的引用性能有问题吗

php中文网
发布: 2016-06-06 20:22:48
原创
1547人浏览过

array_map(function($item) use(&$i, &$tmpVar) {
                $i++;
                $tmpVar['t'.$i] = $item;
            }, $ct_info);
            
登录后复制

最近项目中使用了太多array_map代替foreach来处理数据,而且使用了匿名函数及引用(&)
这样写太多的引用会不会导致php性能问题

回复内容:

array_map(function($item) use(&$i, &$tmpVar) {
                $i++;
                $tmpVar['t'.$i] = $item;
            }, $ct_info);
            
登录后复制

最近项目中使用了太多array_map代替foreach来处理数据,而且使用了匿名函数及引用(&)
这样写太多的引用会不会导致php性能问题

不会有影响,推荐你看看《深入理解PHP内核》。PHP变量在解释器中,实际会以zval结构体保存变量的信息,变量的引用只是符号表中指向同一个zval的一条记录而已。

http://www.php-internals.com/book/?p=chapt03/03-01-00-variables-structure

使用引用不会造成性能问题,但是在对引用不熟悉的情况下滥用引用容易造成一些奇怪的错误,而且这些错误一般都很难排查。

立即学习PHP免费学习笔记(深入)”;

php商城系统
php商城系统

PHP商城系统是国内功能优秀的网上商城系统,同时也是一个商业的PHP开发框架,有多套免费模版,强大的后台管理功能,专业的网上商城系统解决方案,快速建设网上购物商城、数码商城、手机商城、办公用品商城等网站。 php商城系统v3.0 rc6升级 1、主要修复用户使用中出现的js未加载完报错问题,后台整改、以及后台栏目的全新部署、更利于用户体验。 2、扩展出,更多系统内部的功能,以便用户能够迅速找到需

php商城系统 0
查看详情 php商城系统

我来对 @有明 的答案做点补充吧:

但是在对引用不熟悉的情况下滥用引用容易造成一些奇怪的错误,而且这些错误一般都很难排查。

比如这个:

<?php
    $arr = array(1,2,3);
    foreach ($arr as $k => $v){
        $v = &$arr[$k];
    }
    var_dump($arr);
?>
登录后复制

@SyuTingSong
说的PHP内核保存变量是一方面。
另外,PHP作为web程序运行的时候,总会在请求结束的时候把变量引用之类的释放掉。所以,多几个引用,关系不大。

谢谢大家 无法全部采纳,均点赞

相关标签:
php
数码产品性能查询
数码产品性能查询

该软件包括了市面上所有手机CPU,手机跑分情况,电脑CPU,电脑产品信息等等,方便需要大家查阅数码产品最新情况,了解产品特性,能够进行对比选择最具性价比的商品。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号