php中遍历数组方法 android软件开发教程

  次阅读 作者:智能小宝 来源:互联网 2016-03-02 15:42 我要评论(0)

遍历数组有多种实现方法:

1、连续索引的数组:

实现连续数组的遍历很简单,因为数组的索引是连续的(0 1 2……),所以我们可以首先用count()函数计算出数组中元素的个数,然后建立一个for循环,如下:

$subject=array("maths","english","physics");

$num_elements=count($subject); //这时$num_elements的值为3

for ($i=0;$i<$num_elements; ++$i){

echo ("$subject[$i]

n");

}

结果为:

maths

english

physics

这里我们给$i赋了初值为0,是因为数组元素的索引默认为0 1 2,如果第一个元素的索引不为0,我们只需:

$subject=array(3=>"maths","english","physics");

$num_elements=count($subject)+3; //注意这里

for ($i=3;$i<$num_elements; ++$i){

echo ("$subject[$i]

n");

}

这里将$i赋了值3,同时$num_elements=count($subject)+3,这里很容易被忽视。

2 、非连续索引的数组:

$subject=array("m"=>"maths","e"=>"english","p"=>"physics");

这里建立了一个了数组,索引值分别为"m" "e " "p",这样的数组怎么遍历?

方法一:使用list()和each()函数组合

$subject=array("m"=>"maths","e"=>"english","p"=>"physics");

reset($subject); //把指针复位到第一个元素上

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

echo "$key is $value

n"; }

方法二:使用foreach语句

$subject=array("m"=>"maths","e"=>"english","p"=>"physics");

foreach($subject as $key => $value){

echo "$key is $value

n";

}

?>

是不是比list()和each()简单。

foreach 与 list()each()组合的不同之处:

foreach 是在原来数组的拷贝上执行操作的。他的优点是不会影响当前数组指针的位置,缺点是对于一个很大的数组,复制所花的时间很长。

list() each()组合很明显用他遍历、之后,指针的位置改变了。

方法三:使用array_walk()函数遍历数组

array_walk()是让使用者自定义函数,处理阵列中的每一个元素。

$subject=array("maths","english","physics");

function printElement($element){

print ("$element

n");

}

array_walk($subject,"printElement");

以上是网为您介绍的php中遍历数组方法,希望对您有所帮助。

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...