找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1583|回复: 0
打印 上一主题 下一主题

PHP遍历数组的方法汇总

[复制链接]

2560

主题

2560

帖子

7622

积分

论坛元老

Rank: 8Rank: 8

积分
7622
跳转到指定楼层
楼主
发表于 2018-2-14 05:46:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            今天有个朋友问我一个问题php遍历数组的方法,告诉她了几个。顺便写个文章总结下,如果总结不全还请朋友们指出
第一、foreach()

foreach()是一个用来遍历数组中数据的最简单有效的方法。

显示结果:
This Site url is aaa
This Site url is bbb
This Site url is ccc
This Site url is ddd
第二、while() 和 list(),each()配合使用。

显示结果:
This Site url is aaa
This Site url is bbb
This Site url is ccc
This Site url is ddd
第三、for()运用for遍历数组


显示结果:
This Site url is aaa
This Site url is bbb
This Site url is ccc
This Site url is ddd
有时候有人也在问这几种遍历数组的方法哪个更快捷些呢,下面做个简单的测试就明白了
=========== 下面来测试三种遍历数组的速度 ===========
一般情况下,遍历一个数组有三种方法,for、while、foreach。其中最简单方便的是foreach。下面先让我们来测试一下共同遍历一个有50000个下标的一维数组所耗的时间。
$val){
  $str= $val;
  }
  $time_end= GetRunTime();
  $time_used= $time_end- $time_start;
  echo 'Used time of foreach:'.round($time_used, 7).'(s)
';
  ?>
测试结果:
Used time of for:0.0228429(s)
Used time of while:0.0544658(s)
Used time of foreach:0.0085628(s)
经过反复多次测试,结果表明,对于遍历同样一个数组,foreach速度最快,最慢的则是while。从原理上来看,foreach是对数组副本进行操作(通过拷贝数组),而while则通过移动数组内部指标进行操作,一般逻辑下认为,while应该比foreach快(因为foreach在开始执行的时候首先把数组复制进去,而while直接移动内部指标。),但结果刚刚相反。原因应该是,foreach是PHP内部实现,而while是通用的循环结构。所以,在通常应用中foreach简单,而且效率高。在PHP5下,foreach还可以遍历类的属性。
以上所述就是本文的全部内容了,希望大家能够喜欢。
            
            
您可能感兴趣的文章:
  • php数组函数序列之array_keys() - 获取数组键名
  • PHP遍历数组的几种方法
  • PHP中数组合并的两种方法及区别介绍
  • PHP 数组和字符串互相转换实现方法
  • php获取数组中重复数据的两种方法
  • PHP实现蛇形矩阵,回环矩阵及数字螺旋矩阵的方法分析
  • PHP使用数组实现矩阵数学运算的方法示例
  • PHP实现图的邻接矩阵表示及几种简单遍历算法分析
  • PHP简单实现二维数组的矩阵转置操作示例
  • PHP实现顺时针打印矩阵(螺旋矩阵)的方法示例
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端