• 技术文章 >后端开发 >PHP问题

    php遍历数组的四种方法是什么

    青灯夜游青灯夜游2022-04-12 20:18:55原创333

    四种方法:1、用“for($i=0;$i<数组长度;$i++)”;2、用“foreach($arr as $v)”;3、用while配合each()与list();4、用“do-while”配合next()、key()与current()。

    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑

    方法1:使用for语句遍历

    for循环会将控制循环次数的变量预先定义在for语句中,因此for循环语句能够按照已知的循环次数进行循环操作,适用于明确知道脚本需要运行的次数的情况。

    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语句遍历

    foreach是专门为遍历数组而设计的语句,是遍历数组时常用的方法,在遍历数组方面提供了很大的便利;PHP5后还可以遍历对象(foreach仅能够应用于数组和对象)。

    foreach语句遍历数组与数组下标无关,且可以用于不连续的索引数组和以字符串为下标的关联数组。

    foreach语句解析

    下面我们先来了解一下foreach语句,该语句有两种语法格式:

    语法格式1:

    foreach ($array as $value){
        语句块;
    }

    遍历给定的 $array 数组,在每次循环中将当前数组的值赋给 $value。

    语法格式2:

    foreach ($array as $key => $value){
        语句块;
    }

    遍历给定的 $array 数组,在每次循环中会将当前数组的值赋给 $value,键名赋给 $key。

    说明:

    foreach语句在每次循环时,数组内部的指针会向前移一步,这样在下一次循环中会得到下一个数组元素,直到遍历到数组的末尾,停止遍历并退出循环。

    示例:

    <?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中每个数组都有一个内部指针,即数组指针;该指针会指向数组中的某个元素(该元素就是数组的当前元素,默认最初指向数组中的第一个元素)。

    利用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()函数来重置数组指针,将数组中的内部指针重新指向第一个元素。

    推荐:《PHP视频教程

    以上就是php遍历数组的四种方法是什么的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php 数组 遍历数组
    上一篇:php字符串怎么按位转为数组 下一篇:php中iconv函数报错怎么办
    千万级数据并发解决方案

    相关文章推荐

    • php成员变量是什么意思• php 对象实例化是什么意思• php怎么删除数组中键为偶数的元素• php怎么检测一个整数是几位数• php怎么判断是一维数组还是二维数组
    1/1

    PHP中文网