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

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

    青灯夜游青灯夜游2022-05-10 17:17:11原创162

    五种遍历方法:1、用“for($i=0;$i<数组长度;$i++)”;2、用“foreach(数组 as="">$v)”;3、用“while(list($k,$v)=each(数组))”;4、用“array_map(回调函数,数组)”等。

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

    php中遍历数组的五种方法

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

    输出结果:

    1.png

    方法2:使用foreach循环语句

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

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

    输出结果:

    2.png

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

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

    输出结果:

    3.png

    方法4:使用array_map()函数

    使用匿名函数的方式,处理数组里的每个元素。遍历完成后返回一个新的数组

    <?php
    $arr = ['a', 'b', 'c'];
    var_dump($arr);
    $arr = array_map(function ($item) {
        return $item . '_i';
    }, $arr);
    var_dump($arr);
    ?>

    4.png

    你可以同时处理多个数组

    <?php
    header('content-type:text/html;charset=utf-8');   
    $arr_1 = ['a', 'b', 'c'];
    $arr_2 = ['你', '好', '吗', '原', '罪'];
    // $arr_n = [...];
    $arr = array_map(function ($item_1, $item_2) {
        return $item_1 . '_' . $item_2 . '_i';
    }, $arr_1, $arr_2);
    
    var_dump($arr); // ['a_你_i', 'b_好_i', 'c_吗_i', '_原_i', '_罪_i']
    ?>

    5.png

    方法5:使用array_walk()函数

    以引用传递的形式遍历你的数组,没有返回值,而且只能处理一个数组。

    <?php
    $arr = ['a', 'b', 'c'];
    array_walk($arr, function (&$item) {
        $item = $item . '_i';
    });
    
    var_dump($arr); 
    ?>

    6.png

    注意到 &$item 了吗,是的,多了个&,代表着你的形参是以引用传递接收数据的。你要做的就是想办法改变这个参数。

    推荐学习:《PHP视频教程

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

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php php数组
    上一篇:php索引数组怎么增加元素 下一篇:php怎么替换数组的值为星号
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• 详解PHP使用foreach()遍历数组的两种方法• PHPlist、each函数遍历数组(附源码)• php怎么遍历数组替换数组中的元素的值• PHP循环学习三:如何使用for循环语句遍历数组• PHP数组学习之怎么遍历数组元素?4种方法浅析• php数组怎么查询大于0的元素• 创建php数组的方法有哪几种
    1/1

    PHP中文网