array_map - php使用太多的引用性能有问题吗
伊谢尔伦
伊谢尔伦 2017-04-10 16:28:18
0
5
529
array_map(function($item) use(&$i, &$tmpVar) { $i++; $tmpVar['t'.$i] = $item; }, $ct_info);

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

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

모든 응답 (5)
大家讲道理

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

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

    小葫芦

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

      迷茫

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

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

      比如这个:

       $v){ $v = &$arr[$k]; } var_dump($arr); ?>
        阿神

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

          巴扎黑

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

            최신 다운로드
            더>
            웹 효과
            웹사이트 소스 코드
            웹사이트 자료
            프론트엔드 템플릿
            회사 소개 부인 성명 Sitemap
            PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!