array_push 与 $arr[]=$value 性能比较分析
来源:互联网 发布:黑河广电网络 编辑:程序博客网 时间:2024/05/01 08:01
本文简要分析一下php中array_push与$arr[] = $value两种将元素加入数组末尾的方法的性能
1. array_push方法
array_push 方法,将一个或多个元素压入数组的末尾。array_push() 将array当成一个栈,并将传入的变量压入array的末尾。array的长度将根据入栈变量的数目增加。
int array_push ( array &$array , mixed $var [, mixed $... ] )
2. $arr[] = $value; 方法
给数组增加一个值,使用效果和array_push是相同的。
比较 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个元素
$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);
list($usec, $sec) = explode(' ', microtime());
return (float)$usec + (float)$sec;
}
执行时间:417.458057 ms
结论:
如果是压入一个元素,使用$arr[]=$value效率高,因为可以节省调用函数的额外负担。
如果同时压入多个元素,使用array_push效率高,因为不用重复获取文件尾的指针。
- array_push 与 $arr[]=$value 性能比较分析
- php array_push 与 $arr[]=$value 性能比较
- php array_push 与 $arr[]=$value 性能比较
- php array_push 与 $arr[]=$value 性能比较
- foreach($arr as $key=>$value);foreach($arr as $value);
- $arr as $key=>$value解释
- array_push 与 array_merge
- JQuery for与each性能比较分析
- JQuery for与each性能比较分析
- Ci与yii的比较与性能分析
- $arr['key'] 与 $arr["key"] 与 $arr[key]的差别:
- php中file_get_contents与curl性能比较分析
- MySQL大量数据插入各种方法性能分析与比较
- Java中arraylist和linkedlist源码分析与性能比较
- php中file_get_contents与curl性能比较分析
- Array的push与unshift方法性能比较分析
- php中file_get_contents与curl性能比较分析
- 常用String字符串拼接的性能比较与分析
- USB endpoint 的设置
- python学习_5
- 【Scikit-Learn 中文文档】11 朴素贝叶斯
- 任务控制块
- 为本地webstorm 添加 npm packages函数支持
- array_push 与 $arr[]=$value 性能比较分析
- 想成为linux大牛,却还在打王者荣耀?怎么办
- 转:mybatis执行sql原理
- C++中的运算符重载
- linux Privilege to run Oracle catprpc.sql
- 互补滤波原理
- Windows下用Anaconda安装TensorFlow,并在pycharm中使用
- C++编程笔记:使用WinHTTP实现HTTP访问(解决接收UTF8数据乱码问题)
- Longest Path in DAG 有向无环图中的最长路径问题