为了账号安全,请及时绑定邮箱和手机立即绑定

循环的性能与代码可读性的选择

循环的性能与代码可读性的选择

PHP
元芳怎么了 2019-03-11 03:52:25
在刚刚尝试解决的一个问题的时候,做出一些思考,是关于foreach和array_*的foreach的优点:可以从网上找到相应的一些资料来证明foreach在实际运行时的性能是要优于array_map的array_*类函数的优点在代码可读性上,相同的代码看起来逻辑要更加直观一些常用的数据操作闭包可以封装到一个地方进行复用 在这个问题上的权衡,我个人是倾向于使用array_*这一类的函数的,数据操作时的逻辑更加接近我们理解中的从这个变成那个然后再怎样操作变成另外的一个数据对象的一个连贯的操作,而且没有太强的需求让我压缩性能到这个层面上那么应该在什么场合去选择呢?
查看完整描述

2 回答

?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

数据量很大的时候这个性能差异才会明显,这时候推荐用foreach,如果数据量不是很大的话,我觉得内置函数更好一些,代码增加可读性,节省之后阅读者的时间,有时候不用太钻牛角尖了,如果追求极致那可以去用C C++

php内置函数的存在一是为了节省开发者时间,而是减少减少代码行,毕竟人的时间比机器的时间宝贵

查看完整回答
反对 回复 2019-03-18
?
MMTTMM

TA贡献1869条经验 获得超4个赞

foreach 是命令式程序写法,array_map 是函数式程序写法。哪一种易读完全和读者的偏好有关。foreach 可能确实在性能上更优,但函数式写法会更容易进行管道式(或链式)调用,而且它们还有一个根本的区别,就是语句表达式的区别。

查看完整回答
反对 回复 2019-03-18
  • 2 回答
  • 0 关注
  • 424 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信