您的位置:

php数组遍历与实现原理(php数组底层原理)

本文目录一览:

php遍历数组

这个是二维数组,我给你个写法啊,首先要遍厉array(1)这个数组用foreach($array1 as $key =$value){echo $value;}前台将会输出$value;然后你再遍厉$value foreach($value as $key1=$val1){$key1;}echo$value['key1'];key1填你想要的那个值的下标,第二次的遍厉已经遍厉出来了,不知道的话,就用print_r();方法打印出来看

PHP遍历数组的几种方法

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

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

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

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

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

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

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 数组遍历方法大全(foreach,list,each)

在PHP中数组分为两类:

数字索引数组和关联数组。

其中数字索引数组和C语言中的数组一样,下标是为0,1,2…

而关联数组下标可能是任意类型,与其它语言中的hash,map等结构相似。

下面介绍PHP中遍历关联数组的三种方法:

方法1:foreach

复制代码

代码如下:

?php

$sports

=

array(

'football'

=

'good',

'swimming'

=

'very

well',

'running'

=

'not

good');

foreach

($sports

as

$key

=

$value)

{

echo

$key.":

".$value."br

/";

?

输出结果:

football:

good

swimming:

very

well

running:

not

good

方法2:each

复制代码

代码如下:

?php

$sports

=

array(

'football'

=

'good',

'swimming'

=

'very

well',

'running'

=

'not

good');

while

($elem

=

each($sports))

{

echo

$elem['key'].":

".$elem['value']."br

/";

?

方法3:list

each

复制代码

代码如下:

?php

$sports

=

array(

'football'

=

'good',

'swimming'

=

'very

well',

'running'

=

'not

good');

while

(list($key,

$value)

=

each($sports))

{

echo

$key.":

".$value."br

/";

?

PHP多维数组遍历方法(2种实现方法)

本文实例讲述了PHP多维数组遍历方法。分享给大家供大家参考,具体如下:

方法一:

$a=array('fruits'=array('a'='orange',

'b'='grape',c='apple'),

'numbers'=array(1,2,3,4,5,6),

'holes'=array('first',5='second','third')

);

foreach($a

as

$list=$things){

if(is_array($things)){

foreach($things

as

$newlist=$counter){

echo

"key:".$newlist."br/"."value:".$counter."br/";

}

}

}

方法二:

function

MulitarraytoSingle($array){

$temp=array();

if(is_array($array)){

foreach

($array

as

$key=$value

)

{

if(is_array($value)){

MulitarraytoSingle($value);

}

else{

$temp[]=$value;

}

}

}

}

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

php数组遍历与实现原理(php数组底层原理)

2022-11-09
php数组的底层实现原理是什么(php底层工作原理)

2022-11-11
深入php内核之数组(php数组实现原理)

2022-11-12
php遍历百万级数组,php处理十万级数组

2022-11-29
php的工作原理,PHP工作原理

2022-11-30
PHP数组排序原理及方法

2023-05-11
php基础知识之遍历数组,php递归函数遍历数组

2022-11-21
php遍历数据,php数组的遍历

2022-12-02
php二维数组非遍历取值,PHP二维数组遍历

2022-11-22
聊聊php数组底层是如何实现的(php数组是怎么实现的)

2022-11-09
php数组遍历foreach(php 循环数组)

2022-11-10
PHP shuffle函数的用法和实现原理

2023-05-11
php框架的连贯查询实现原理,php框架的连贯查询实现原理是

2022-11-18
php数组重建索引,php定义索引数组

2023-01-07
phparray遍历key,php循环遍历数组

2022-11-26
php遍历输出json(php遍历输出数组)

本文目录一览: 1、PHP如何循环json? 2、php 循环遍历json数据 3、php遍历目录下的全部文件 生成图片显示那样的json 不知道怎么实现了 4、PHP怎么解析这段json代码,并且要

2023-12-08
js取php数组(PHP 遍历数组)

本文目录一览: 1、js获取php的返回数组 2、js如何获取php数组 3、js如何获取php页面数组里面的值 js获取php的返回数组 Ajax获取到的本来就是HTML文本,自然有HTML标签。如

2023-12-08
数据库的笔记mysql,数据库管理系统笔记

2022-11-24
php数组操作类实例,php数组的方法

2023-01-08
php历法(php历史)

2022-11-16