您的位置:

php遍历百万级数组,php处理十万级数组

本文目录一览:

php遍历数组

输入汉字太麻烦,你也不粘贴文本让大家可以粘贴,我用字符代替文本,代码如下:

?php

$arr=array(

array('G10','htc',100),

array('NSS','诺基亚',200),

array('盖世3','三星',300),

array('iphone','apple',500),

array('anycall','三星',700),

);

$arrPhone=array();

foreach ($arr as $itm) if ($itm[1]=='三星') $arrPhone[]=$item[0];

print_r($arrPhone);

?

php中的数组遍历的几种方式

?php//使用for循环遍历$arr2=array(array("张三","20","男"),array("李四","25","男"),array("王五","19","女"),array("赵六","25","女"));echo "table border=2 bordercolor=redtrtd姓名/tdtd年龄/td gt;td性别/td/tr";for($i=0;$i4;$i++){echo "tr";for($j=0;$j3;$j++){ echo "td"; echo $arr2[$i][$j]; echo "/td";}echo "/tr";echo "";}echo "/table";?//使用foreach遍历 ?php$arr = array('one'=array('name'='张三','age'='23','sex'='男'), 'two'=array('name'='李四','age'='43','sex'='女'), 'three'=array('name'='王五','age'='32','sex'='男'), 'four'=array('name'='赵六','age'='12','sex'='女'));foreach($arr as $k=$val){ echo $val['name'].$val['age'].$val['sex']."";}echo "p";??php$arr = array('one'=array('name'='张三','age'='23','sex'='男'), 'two'=array('name'='李四','age'='43','sex'='女'), 'three'=array('name'='王五','age'='32','sex'='男'), 'four'=array('name'='赵六','age'='12','sex'='女'));foreach($arr as $key=$value){foreach($value as $key2=$value2){ echo $value2;}echo "";}?

如何利用php数组对百万数据进行排重

如果你已经使用了一段时间PHP的话,那么,你应该已经对它的数组比较熟悉了——这种数据结构允许你在单个变量中存储多个值,并且可以把它们作为一个集合进行操作。

经常,开发人员发现在PHP中使用这种数据结构对值或者数组元素进行排序非常有用。PHP提供了一些适合多种数组的排序函数,这些函数允许你在数组内部对元素进行排列,也允许用很多不同的方法对它们进行重新排序。在这篇文章中我们将讨论该排序中最重要的几个函数。

简单排序

首先,让我们来看看最简单的情况:将一个数组元素从低到高进行简单排序,这个函数既可以按数字大小排列也可以按字母顺序排列。PHP的sort()函数实现了这个功能,如Listing A所示:

Listing A

?php

 $data = array(5,8,1,7,2);

 sort($data);

 print_r($data);

 ?

输出结果如下所示:

Array ([0] = 1

[1] = 2

[2] = 5

[3] = 7

[4] = 8

)

php数组遍历类与用法示例

本文实例讲述了php数组遍历类与用法。分享给大家供大家参考,具体如下:

?php

class

scanArray{

public

$arr;

public

$where;

private

$str;

public

function

scan($arr,$where="array"){

$this-arr

=

$arr;

$this-where

=

$where;

foreach($this-arr

as

$k=$v){

if(is_array($v)){

$this-where

=

($this-where)."[{$k}]";

$this-scan($v,$this-where);

}else{

$this-str

.=

$this-where."[{$k}]=".$v.'br

/';

}

}

return

$this-str;

}

function

__destruct(){

unset($this-arr);

unset($this-where);

}

}

$a

=

array('g'="a",'vv'=array("b"="b","l"="c","xx"=array("e","g")));

$ah

=

new

scanArray();

$b

=

$ah-scan($a);

echo

$b;

运行结果:

array[g]=a

array[vv][b]=b

array[vv][l]=c

array[vv][xx][0]=e

array[vv][xx][1]=g

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数组(Array)操作技巧大全》、《php排序算法总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《php字符串(string)用法总结》及《PHP常用遍历算法与技巧总结》

希望本文所述对大家PHP程序设计有所帮助。

您可能感兴趣的文章:PHP遍历数组的方法汇总PHP

数组遍历方法大全(foreach,list,each)PHP

数组遍历foreach语法结构及实例PHP中多维数组的foreach遍历示例php实现遍历多维数组的方法PHP中使用foreach()遍历二维数组的简单实例PHP遍历数组的三种方法及效率对比分析PHP实现的操作数组类库定义与用法示例PHP数组操作类实例PHP数组生成XML格式数据的封装类实例

PHP遍历数组的方法汇总

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

第一、foreach()

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

?php

$urls=

array('aaa','bbb','ccc','ddd');

foreach

($urls

as

$url){

echo

"This

Site

url

is

$url!

br

/";

}

?

显示结果:

This

Site

url

is

aaa

This

Site

url

is

bbb

This

Site

url

is

ccc

This

Site

url

is

ddd

第二、while()

list(),each()配合使用。

?php

$urls=

array('aaa','bbb','ccc','ddd');

while(list($key,$val)=

each($urls))

{

echo

"This

Site

url

is

$val.br

/";

}

?

显示结果:

This

Site

url

is

aaa

This

Site

url

is

bbb

This

Site

url

is

ccc

This

Site

url

is

ddd

第三、for()运用for遍历数组

?php

$urls=

array('aaa','bbb','ccc','ddd');

for

($i=

0;$i

count($urls);

$i++){

$str=

$urls[$i];

echo

"This

Site

url

is

$str.br

/";

}

?

显示结果:

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个下标的一维数组所耗的时间。

?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遍历数组的几种方法

PHP中遍历数组有三种常用的方法:

一、使用for语句循环遍历数组;

二、使用foreach语句遍历数组;

三、联合使用list()、each()和while循环遍历数组。

这三种方法中效率最高的是使用foreach语句遍历数组。从PHP4开始就引入了foreach结构,是PHP中专门为遍历数组而设计的语句,推荐大家使用。

希望回答对你有帮助,如果有疑问,请继续追问