PHP代码优化之array_push
内容导读
收集整理的这篇技术教程文章主要介绍了PHP代码优化之array_push,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1860字,纯文字阅读大概需要3分钟。
内容图文
PHP中数组插入数据通常有这么几种:- 定义的时候直接赋值
$arr = array(‘apple’, ’banana’);
- 使用数组变量操作
$arr = array();$arr[] = ‘apple’;$arr[] = ‘banana’;
- 使用array_push()插入
$arr = array(‘apple’);array_push($arr, ‘banana’, ‘orange’);
在项目中,我们大部分情况都是先从数据库中获取数据,然后转成数组形式,而对于第一种情况,在定义数组的时候直接赋值往往只适合数据量很小,而且是已知的情况,所以就不存在什么代码优化了,我们主要讲第二种和第三种。
性能比较
我们使用php 7.2
来测试,并且没有做任何配置上的优化。测试方法:定义一个数组,分别用第二种和第三种方式插入10万条记录,代码大致如下:
convert
函数用来查看内存占用情况,运行结果如下:
通过多次运行上述代码,可以发现直接使用数组变量赋值耗时在0.0045
左右,而使用array_push
的方式耗时在0.006
左右,消耗的内存都是一样的,因为都是10万条记录。
对比两种方法,发现方法二确实比调用array_push
快,因为在每次循环时函数调用需要消耗一些时间,但仅仅看上面的测试,并不觉得第二种方法比第三种方法快多少,完全可以忽略不计的。
的确,这种优化在绝大多数应用中和没优化没啥区别,但是当应用达到瓶颈的时候,每一处不起眼的优化可能都会使性能提高不少,况且我们的测试中数组的结构很简单,真实项目中数据类型不是这么单一,可能还是嵌套的数组,数组的大小可能也不止10万。
我们再来看看两者的差异,array_push()
是函数调用,另一个不是,这就是说了,从代码量上看两者也是一样的,从数组结构上看,测试中我们都没有使用索引,默认都是从0开始,如果要使用key => value
形式插入数据时,array_push()
就不是很好处理了,这时使用法二就很方便:$array1[$key] => $x
。
前面都是说array_push()
怎么不好,但有时候array_push
还是很好用的。比如我们要一次插入多个元素时,就可以这样使用:
$arr = array(‘a’, ’b’);array_push($arr, ‘c’, ‘d’);// $arr = array(‘a’, ’b’, ‘c’, ‘d’);
通过上面对比可见,PHP中数组插值的方法有很多,虽然每种方法差不多,但了解每一种方法何时使用还是很有必要的。
相关课程:PHP视频教程
以上就是PHP代码优化之array_push的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是为您收集整理的PHP代码优化之array_push全部内容,希望文章能够帮你解决PHP代码优化之array_push所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
希望以上内容对你有所帮助!如果还有其他问题,请随时提问。 各类知识收集 拥有多年CMS企业建站经验,对 lecms, classcms, fastadmin, pbootcms, phpcms, eyoucms, yzmcms, PHP, xunruicms, jizhicms, dedecms, wordpress, hkcms, yzncms, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。