我的编程空间,编程开发者的网络收藏夹
学习永远不晚

PHP数组遍历的对比测试

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

PHP数组遍历的对比测试

本篇内容介绍了“PHP数组遍历的对比测试”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

测试一:PHP4.4.1下,使用一维数组

编号语句时间
1for($i = 0; $i < $num = count($arr); $i++)0.1048162(s)
2for($i = 0, $num = count($arr); $i < $num; $i++)0.0698998(s)
3while(list($key, $val) = each($arr))0.1437800(s)
4while(list(, $val) = each($arr))0.1226320(s)
5while(list($key, ) = each($arr))0.1119628(s)
6foreach($arr as $key => $val)0.0972550(s)
7foreach($arr as $val)0.0649691(s)


可以看出7最快,不过这种方式不会返回下标,如果需要使用下标这种方法就不符合要求了。其次是2,看出来这种写法和1有什么不同了么?2在循环前计算数组的长度,而1每次循环都要计算数组的长度所以2比1更高效。不过2和1都是一样的,只能操作那种下标是数字而且数字连续的数组。第三是6,也就是一般讨论中认为最快的方法,如果你操作数组的下标同时下标有是非连续数字那么毫无疑问应该选择这个方法,至于慢的就不多说了,忘记这些用法吧:roll:

测试二:PHP4.4.1下,使用二位数组

编号语句时间
1for($i = 0; $i < $num = count($arr); $i++)0.0824819(s)
2for($i = 0, $num = count($arr); $i < $num; $i++)0.0523129(s)
3while(list($key, $val) = each($arr))0.1273971(s)
4while(list(, $val) = each($arr))0.0961161(s)
5while(list($key, ) = each($arr))0.1245570(s)
6foreach($arr as $key => $val)0.0764248(s)
7foreach($arr as $val)1.1415598(s)


结果发生了重大变化

最快的是2,因为for并不会管多维的问题,所以和一维数组时相比速度并没有发生太大的变化(至于为什么比一维还快,这个我只能说受文件中运算的影响....这种影响的而且确存在,用PEAR的Benchmark类测试的时候我就发现测试1次、100次、1000次得到的时间差别很大)

其次是6,同测试一中所说,如果2不能用(也就是下标不连续),6毫无疑问是***的选择而令人跌破眼镜的是7,竟然是最慢的,而且比第二慢的还要慢10倍...这个问题实在令人费解,后来我又做过比较细致的测试,发现7这种方法,主要受元素个数的影响,如果一维10个元素,那么如果第二维都有8个元素则7的速度和6几乎一样,如果一维30个元素,那么二维是6个元素时7和6速度基本一样。但是如果一维1000个元素二维元素超过3个那么7就会比6慢很多了。

“PHP数组遍历的对比测试”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

PHP数组遍历的对比测试

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

PHP数组遍历的对比测试

本篇内容介绍了“PHP数组遍历的对比测试”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!测试一:PHP4.4.1下,使用一维数组编号语句时间1
2023-06-17

php键值对数组怎么遍历

PHP中,可以使用foreach循环来遍历键值对数组。下面是一个示例:```php$array = array("key1" => "value1", "key2" => "value2", "key3" => "value3");fore
2023-10-11

php怎么遍历二维数组的数据

在PHP中,可以使用嵌套的foreach循环来遍历二维数组的数据。以下是一个简单的示例:$twoDimensionalArray = array(array('Alice', 25),array('Bob&#
php怎么遍历二维数组的数据
2024-03-01

循环遍历 PHP 中的关联数组

本文将介绍几种在 PHP 中循环关联数组的方法。我们还将学习如何从数组中获取键。在 PHP 中使用 foreach 循环来循环关联数组并获取键值PHP 和其他流行的编程语言中有许多循环语句,如 for、while、do...while、fo
循环遍历 PHP 中的关联数组
2024-02-27

php遍历数组的方法是什么

这篇文章主要讲解了“php遍历数组的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php遍历数组的方法是什么”吧!两种方法:1、利用for循环,语法为“for($i=0;$i
2023-06-29

php遍历数组指的是什么意思

这篇文章主要介绍了php遍历数组指的是什么意思,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。php遍历数组的意思就是通过php代码把数组中的每个元素都访问到,其遍历数组的方法
2023-06-21

PHP遍历数组的6种方式总结

目录1、foreach2、array_map3、array_walk4、for5、each6、reset总结在PHP的日常操作中,数组是最常出现的结构,而我们几乎每天都在处理数组相关的内容。那么问题来了,你一般怎么遍历并处理数组。1、foreach很熟悉吧,是
2014-08-30

php foreach遍历数组的方式有哪些

在PHP中,可以使用以下几种方式来遍历数组:1. 使用foreach循环:foreach循环是遍历数组最常用的方式,它可以遍历关联数组和索引数组。```php$array = array('a', 'b', 'c');foreach ($a
2023-10-10

多维数组在php中的遍历方法

这篇文章将为大家详细讲解有关多维数组在php中的遍历方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。php的框架有哪些php的框架:1、Laravel,Laravel是一款免费并且开源的PHP应用框架。
2023-06-14

php foreach遍历数组的方法是什么

PHP中使用foreach语句来遍历数组。示例代码如下:```$colors = array("Red", "Green", "Blue");foreach ($colors as $value) { echo $value . "";}
2023-09-26

php中遍历数组的方法有哪些

本文小编为大家详细介绍“php中遍历数组的方法有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“php中遍历数组的方法有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。五种遍历方法:1、用“for($i=0
2023-06-30

php如何遍历数组替换数组中的元素值

这篇文章将为大家详细讲解有关php如何遍历数组替换数组中的元素值,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。php遍历数组替换数组中元素值的方法:首先创建一个PHP示例文件;然后定义数组;最后通过“fo
2023-06-20

php遍历数组的四种方法是什么

PHP遍历数组有四种方法:foreach循环:最常用,按引用遍历;for循环:按索引顺序遍历;array_walk函数:通过回调函数遍历,可修改数组;array_map函数:通过回调函数遍历,返回新数组。每种方法各有优缺点,可根据需求选择。
php遍历数组的四种方法是什么
2024-04-26

php遍历数组的四种方法是什么

四种方法:1、用“for($i=0;$i<数组长度;$i++)”;2、用“foreach($arr as $v)”;3、用while配合each()与list();4、用“do-while”配合next()、key()与current()。
2019-10-24

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录