PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

PHP数组学习之怎么遍历数组元素?4种方法浅析

青灯夜游
青灯夜游 原创
2021-08-02 16:06:27 3748浏览

在之前的文章中,我们学习了php数组的创建,感兴趣的可以去点击链接查看→《一维数组如何创建和初始化(代码详解)》。创建好了数组,就需要进行操作,遍历数组就是一个常规操作,那么在php中要怎么遍历数组元素?今天我们就来给大家分享3种常见方法。

本篇文章就通过实际的代码例子来给大家介绍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/>";
} 
?>

输出结果:

1.png

方法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>";
}
?>

输出结果:

2.png

方法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));
?>

输出结果:

3.png

遍历结束后,数组指针会指向最后一个数组元素,我们可以使用reset()函数来重置数组指针,将数组中的内部指针重新指向第一个元素。

如果对do-while循环不熟悉,可以点击阅读《PHP循环学习二:如何使用do-while循环语句》来了解do-while循环语句。

好了就说到这里了,有其他想知道的,可以点击这个哦。→ →php视频教程

推荐:PHP面试题大汇总(收藏)

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。