• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php array_push 与 $arr[]=$value 之间的性能对比

php 搞代码 3年前 (2022-01-22) 15次浏览 已收录 0个评论

1.array_push方法

array_push 方法,将一个或多个元素压入数组的末尾。

int array_push ( array &$array , mixed $var [, mixed $... ] )

array_push() 将array当成一个栈,并将传入的变量压入array的末尾。array的长度将根据入栈变量的数目增加。
与下效果相同:

<?php$arr[] = $value;?>

2.比较array_push与 $arr[]=$value性能

使用array_push压入1000000个元素

<?php$starttime = get_microtime();$arr = array();for($i=0; $i<1000000; $i++){    array_push($arr, $i);}$endtime = get_microtime();printf("run time %f ms\r\n", ($endtime-$starttime)*1000);function get_microtime(){    list($usec, $sec) = explode(' ', microtime());    return (float)$usec + (float)$sec;}?>

执行时间:2735.545158 ms

使用$arr[] = $value压入100000个元素

<?php$starttime = get_microtime();$arr = array();for($i=0; $i<1000000; $i++){    $arr[] = $i;}$endtime = get_microtime();printf("run time %f ms\r\n", ($endtime-$starttime)*1000);function get_microtime(){    list($usec, $sec) = explode(' ', microtime());    return (float)$usec + (float)$sec;}?>

执行时间:417.458057 ms

结果:每次压入一个元素,使用$arr[]=$value比使用array_push方法快7倍。

3.同时压入多个元素比较

使用array_push方法,压入100000个元素,每次压入50个元素

<?php$starttime = get_microtime();$arr = a<strong>2本文来源gaodaima#com搞(代@码$网6</strong><pre>搞gaodaima代码

rray();for($i=0; $i<1000000; $i=$i+50){ array_push($arr, $i,$i+1,$i+2,$i+3,$i+4,$i+5,$i+6,$i+7,$i+8,$i+9,$i+10, $i+11,$i+12,$i+13,$i+14,$i+15,$i+16,$i+17,$i+18,$i+19, $i+21,$i+22,$i+23,$i+24,$i+25,$i+26,$i+27,$i+28,$i+29, $i+31,$i+32,$i+33,$i+34,$i+35,$i+36,$i+37,$i+38,$i+39, $i+41,$i+42,$i+43,$i+44,$i+45,$i+46,$i+47,$i+48,$i+49);}$endtime = get_microtime();printf("run time %f ms\r\n", ($endtime-$starttime)*1000);function get_microtime(){ list($usec, $sec) = explode(' ', microtime()); return (float)$usec + (float)$sec;}?>

执行时间:250.149012 ms

结果:使用array_push一次压入多个元素,比多次使用$arr[]=$value压入快。array_push一次压入的元素越多,则效率越高。

总结

如果是压入一个元素,使用$arr[]=$value效率高,因为可以节省调用函数的额外负担。
如果同时压入多个元素,使用array_push效率高,因为不用重复获取文件尾的指针。

结果:每次压入一个元素,使用$arr[]=$value比使用array_push方法快7倍。

本文讲解了php array_push 与 $arr[]=$value 之间的性能对比,更多相关内容请随时关注我们网站!

相关推荐:

关于mysql 时间戳格式化函数from_unixtime的使用说明

关于mysql函数concat与group_concat使用说明事项

关于mysql innodb启动失败无法重启的处理方法讲解

以上就是php array_push 与 $arr[]=$value 之间的性能对比的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php array_push 与 $arr[]=$value 之间的性能对比
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址