您好,登录后才能下订单哦!
这篇文章主要讲解了“PHP有哪些方法可以遍历数组元素”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP有哪些方法可以遍历数组元素”吧!
本篇文章就通过实际的代码例子来给大家介绍4种常见方法:for循环,foreach语句,while循环+each()+list(),do-while循环+数组指针。
方法1:使用for循环语句
在之前PHP循环系列文章《PHP循环学习三:如何使用for循环语句遍历数组》中,我们介绍了for循环和利用该循环怎么遍历数组。本文就不详细介绍了,下面通过代码示例来具体看看:
<?php header("Content-type:text/html;charset=utf-8"); $array= array(2,"数学","梨子",3.14,"榴莲",12); for ($i=0; $i < count($array); $i++) { echo $array[$i] . "<br/>"; } ?>
输出结果:
2 数学 梨子 3.14 榴莲 12
方法2:使用foreach循环语句
同样的,在之前PHP循环系列文章《PHP循环学习四:怎么利用foreach语句遍历和修改数组元素》中,我们介绍了利用foreach循环遍历数组的2种结构。本文就不详细介绍了,下面通过代码示例来具体看看:
<?php header("Content-type:text/html;charset=utf-8"); $array= array("香蕉","苹果","梨子","橙子","橘子","榴莲"); foreach ($array as $val){ echo "值是:" . $val ; echo "<br/>"; } echo "<br/>"; foreach ($array as $key => $value) { echo "键名为:".$key.",键值为:".$value . "<br/>"; } ?>
输出结果:
方法3:利用while循环+each()+list()
each() 函数返回数组中当前的键值并将数组指针向前移动。在执行 each() 之后,数组指针将停留在数组中的下一个元素或者当碰到数组结尾时停留在最后一个元素。
而list() 函数用于在一次操作中给一组变量赋值。
while循环+each() 函数+ list() 函数可以遍历数组,下面通过代码示例来看看:
<?php header("Content-type:text/html;charset=utf-8"); $array= array("香蕉","苹果","梨子","橙子","橘子","榴莲"); while( list($key, $val) = each($array) ) { echo "$key => $val<br>"; } ?>
输出结果:
方法4:利用do-while循环+next()+key()+current()
PHP中每个数组都有一个内部指针,即数组指针;该指针会指向数组中的某个元素(该元素就是数组的当前元素,默认最初指向数组中的第一个元素)。
next() 函数可以返回数组内部指针指向的下一个元素的值,当没有更多元素时返回 FALSE。
key() 函数用来获得数组中当前元素的键名。
current() 函数返回数组的当前元素的键值。
利用do-while循环+next()+key()+current()可以遍历数组,获取数组元素的键名和键值。
下面通过代码示例来具体看看:
<?php header("Content-type:text/html;charset=utf-8"); $array= array("香蕉","苹果","梨子","橙子","橘子","榴莲"); do{ echo key($array)." => ".current($array)."<br>"; }while(next($array)); ?>
输出结果:
遍历结束后,数组指针会指向最后一个数组元素,我们可以使用reset()函数来重置数组指针,将数组中的内部指针重新指向第一个元素。
如果对do-while循环不熟悉,可以点击阅读《PHP循环学习二:如何使用do-while循环语句》来了解do-while循环语句。
感谢各位的阅读,以上就是“PHP有哪些方法可以遍历数组元素”的内容了,经过本文的学习后,相信大家对PHP有哪些方法可以遍历数组元素这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。