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

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

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

阅读 7k
5 个回答

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

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

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

比如这个:


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

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题