84669 personnes étudient
152542 personnes étudient
20005 personnes étudient
5487 personnes étudient
7821 personnes étudient
359900 personnes étudient
3350 personnes étudient
180660 personnes étudient
48569 personnes étudient
18603 personnes étudient
40936 personnes étudient
1549 personnes étudient
1183 personnes étudient
32909 personnes étudient
array_map(function($item) use(&$i, &$tmpVar) { $i++; $tmpVar['t'.$i] = $item; }, $ct_info);
最近项目中使用了太多array_map代替foreach来处理数据,而且使用了匿名函数及引用(&)这样写太多的引用会不会导致php性能问题
&
引用
小伙看你根骨奇佳,潜力无限,来学PHP伐。
不会有影响,推荐你看看《深入理解PHP内核》。PHP变量在解释器中,实际会以zval结构体保存变量的信息,变量的引用只是符号表中指向同一个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程序运行的时候,总会在请求结束的时候把变量引用之类的释放掉。所以,多几个引用,关系不大。
谢谢大家 无法全部采纳,均点赞
不会有影响,推荐你看看《深入理解PHP内核》。PHP变量在解释器中,实际会以
zval
结构体保存变量的信息,变量的引用只是符号表中指向同一个zval
的一条记录而已。http://www.php-internals.com/book/?p=chapt03/03-01-00-variables-structure
使用引用不会造成性能问题,但是在对引用不熟悉的情况下滥用引用容易造成一些奇怪的错误,而且这些错误一般都很难排查。
我来对 @有明 的答案做点补充吧:
比如这个:
@SyuTingSong
说的PHP内核保存变量是一方面。
另外,PHP作为web程序运行的时候,总会在请求结束的时候把变量引用之类的释放掉。所以,多几个引用,关系不大。
谢谢大家 无法全部采纳,均点赞