php基础知识之遍历数组,php递归函数遍历数组

本文目录一览:

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遍历数组的方法汇总

今天有个朋友问我一个问题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数组函数,遍历数组的几种方法

介绍三种。

// for、 foreach、 each and list

// for 循环方式遍历数组,仅可遍历索引数组

$ary = [‘hello’, ‘world’];

for ($key = 0; $key  count($ary); $key ++) {

    echo $key . $ary[$key];

}

// foreach 专门用来遍历数组的语言结构

foreach ($ary AS $key = $value) {

    echo $key . $value;

}

// each 配合 list 循环遍历

while (list($key, $value) = each($ary)) {

    echo $key . $value;

}

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/197980.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-04 07:29
下一篇 2024-12-04 07:29

相关推荐

  • Python导入数组

    本文将为您详细阐述Python导入数组的方法、优势、适用场景等方面,并附上代码示例。 一、numpy库的使用 numpy是Python中一个强大的数学库,其中提供了非常丰富的数学函…

    编程 2025-04-29
  • Python返回数组:一次性搞定多种数据类型

    Python是一种多用途的高级编程语言,具有高效性和易读性的特点,因此被广泛应用于数据科学、机器学习、Web开发、游戏开发等各个领域。其中,Python返回数组也是一项非常强大的功…

    编程 2025-04-29
  • Python遍历集合中的元素

    本文将从多个方面详细阐述Python遍历集合中的元素方法。 一、for循环遍历集合 Python中,使用for循环可以遍历集合中的每个元素,代码如下: my_set = {1, 2…

    编程 2025-04-29
  • Python去掉数组的中括号

    在Python中,被中括号包裹的数据结构是列表,列表是Python中非常常见的数据类型之一。但是,有些时候我们需要将列表展开成一维的数组,并且去掉中括号。本文将为大家详细介绍如何用…

    编程 2025-04-29
  • Python操作数组

    本文将从多个方面详细介绍如何使用Python操作5个数组成的列表。 一、数组的定义 数组是一种用于存储相同类型数据的数据结构。Python中的数组是通过列表来实现的,列表中可以存放…

    编程 2025-04-29
  • Python如何遍历字典中的key和value

    本文将详细讲解Python中如何遍历字典中的key和value,包括多种遍历方式以及在遍历过程中的一些应用场景。 一、遍历字典中的key和value 在Python中,字典是一种无…

    编程 2025-04-29
  • 台阶走法递归

    台阶走法递归是一个经典的递归问题,在计算机算法中有着广泛的应用。本篇文章将从递归的思想出发,详细分析如何解决这个问题。 一、递归基础知识 递归是指一个函数直接或间接地调用自身。递归…

    编程 2025-04-29
  • MySQL递归函数的用法

    本文将从多个方面对MySQL递归函数的用法做详细的阐述,包括函数的定义、使用方法、示例及注意事项。 一、递归函数的定义 递归函数是指在函数内部调用自身的函数。MySQL提供了CRE…

    编程 2025-04-29
  • Python二维数组对齐输出

    本文将从多个方面详细阐述Python二维数组对齐输出的方法与技巧。 一、格式化输出 Python中提供了格式化输出的方法,可以对输出的字符串进行格式化处理。 names = [‘A…

    编程 2025-04-29
  • Java创建一个有10万个元素的数组

    本文将从以下方面对Java创建一个有10万个元素的数组进行详细阐述: 一、基本介绍 Java是一种面向对象的编程语言,其强大的数组功能可以支持创建大规模的多维数组以及各种复杂的数据…

    编程 2025-04-28

发表回复

登录后才能评论