今天有个朋友问我一个问题php遍历数组的方法,告诉她了几个.顺便写个文章总结下,如果总结不全还请朋友们指出
第第一段:foreach()
foreach()是一个用来遍历数组中数据的最简单有效的方法.
php
$urls=
array('aaa','bbb','ccc','ddd');
foreach
($urls
as
$url){
echo
"This
Site
url
is
$url!
br
/";
}
显示结果:
This
aaa
bbb
ccc
ddd
第第二段:while()
和
list(),each()配合使用.
while(list($key,$val)=
each($urls))
{
$val.br
第第三段:for()运用for遍历数组
for
($i=
0;$i
count($urls);
$i++){
$str=
$urls[$i];
$str.br
有时候有人也在问这几种遍历数组的方法哪个更快捷些呢,下面做个简单的测试就明白了
===========
下面来测试三种遍历数组的速度
$arr=
array();
for($i=
0;
$i
$arr[]=
function
GetRunTime()
list($usec,$sec)=explode("
",microtime());
return
((float)$usec+(float)$sec);
######################################
$time_start=
GetRunTime();
count($arr);
$arr[$i];
$time_end=
$time_used=
$time_end-
$time_start;
'Used
time
of
for:'.round($time_used,
/br
/br
/br
/';
unset($str,
$time_start,
$time_end,
$time_used);
while(list($key,
$val)=
each($arr)){
$val;
while:'.round($time_used,
/br
$key,
$val,
foreach($arr
as$key=
$val){
foreach:'.round($time_used,
/br
测试结果:
Used
以上所述就是本文的全部内容了,希望大家能够喜欢.
的时候,用ajax去查询下一层的信息,如果感觉慢的
话可以给表做索引,也可以做分表处理,几十万不是
太大的数据
你说的写文件是个思路.如果你只是要求某一个字段是唯一,可以把这个存在内存中,每次进行验证.然后把验证通过的数据写入文件,最后在统一从文件中读出来存入数据库.
但是又会出现个问题.如果你是10万条数据在文件里,你要是想用一个INSERT插入,那必须得先把这数据读到内存里,肯定也很慢,而且不稳定.如果你逐条读出插入,对数据库也是个消耗.不过你可以把数据拆散,比如每1000条插一次.