Site
url
is
ccc
This
Site
url
is
ddd
有时候有人也在问这几种遍历数组的方法哪个更快捷些呢,下面做个简单的测试就明白了
===========
下面来测试三种遍历数组的速度
===========
一般情况下,遍历一个数组有三种方法 , for、while、foreach 。其中最简单方便的是foreach 。下面先让我们来测试一下共同遍历一个有50000个下标的一维数组所耗的时间 。
?php
$arr=
array();
for($i=
0;
$i
50000;
$i++){
$arr[]=
$i*rand(1000,9999);
}
function
GetRunTime()
{
list($usec,$sec)=explode("
",microtime());
return
((float)$usec+(float)$sec);
}
######################################
$time_start=
GetRunTime();
for($i=
0;
$i
count($arr);
$i++){
$str=
$arr[$i];
}
$time_end=
GetRunTime();
$time_used=
$time_end-
$time_start;
echo
'Used
time
of
for:'.round($time_used,
7).'(s)br
/br
/';
unset($str,
$time_start,
$time_end,
$time_used);
######################################
$time_start=
GetRunTime();
while(list($key,
$val)=
each($arr)){
$str=
$val;
}
$time_end=
GetRunTime();
$time_used=
$time_end-
$time_start;
echo
'Used
time
of
while:'.round($time_used,
7).'(s)br
/br
/';
unset($str,
$key,
$val,
$time_start,
$time_end,
$time_used);
######################################
$time_start=
GetRunTime();
foreach($arr
as$key=
$val){
$str=
$val;
}
$time_end=
GetRunTime();
$time_used=
$time_end-
$time_start;
echo
'Used
time
of
foreach:'.round($time_used,
7).'(s)br
/br
/';
?
测试结果:
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遍历get数据库 php循环读取数据库表数据】关于php遍历get数据库和php循环读取数据库表数据的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- 微信刷不到直播怎么办,微信直播刷不了礼物
- 苹果cms图片失效修复,苹果cms10图片失效
- 榴莲直播软件是什么软件,榴莲直播软件是什么软件下载
- 飞行棋小游戏双人,飞行棋双人版小游戏大全
- 函数代码Python 函数代码块以什么开头
- 电视屏幕怎么算正常,电视屏幕单位怎么算
- 经营赚钱升级游戏,升级挣钱的游戏
- go语言实战小程序 go语言小项目
- cf柚子什么时候直播,cf主播柚子