PHP遍历数组-注释版

PHP遍历数组-注释版


       本文讲解了php数组遍历的两种通用方法(foreach法和list() each() while循环法),并由一维数组推广到二维数组的循环遍历。代码和注释如下,希望对大家的学习产生帮助。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>数组遍历</title>
</head>
<body>
    <?php
        // 首先,我们先解决一维数组键值对的遍历
        $arr1=["a"=>"html","b"=>"css","c"=>"js","d"=>"php"];
        // 由于值对应的键不是数字,所以传统for循环遍历是行不通的
        // 使用foreach遍历
        foreach ($arr1 as $key => $value) {
        //foreach 结构如上 as前$arr1对应数组名称,后面的$key是数组每一个元素的键,对应的值则是value 
            // echo "$arr1[$key]<br>"; //输出形式1
            echo "$value<br>"; //输出形式2(推荐)
        }

        echo "<br>";
        //使用 list() each() while循环遍历
        while(list($key,$value)=each($arr1)){
        //while里的判断从右向左看: 先调取每一个 arr1的元素,元素中包含的键和值对应赋值给$key和$value
        // echo "$arr1[$key]<br>"; //输出形式1
        echo "$value<br>"; //输出形式2(推荐)
        }
        echo "<br>";
        echo "<br>";
        echo "<br>";
        // 由一维数组,推广至二维数组
        $arr2=array(
            "网络"=>array("网络基础","网络安全","网络服务"),
            "计算机"=>array("计算机硬件","计算机系统"),
            "程序"=>array("C++活到老学到老","python入门到精通","SQL入门到入土")
        );
        //同样先使用foreach
        foreach ($arr2 as $key1 => $value1) {
            //这里我们得到了arr2中的每一个键值对,例如 "网络"=>array()
            //key1很好得到,我们输出下来
            echo "$key1<br>";
            //但是我们无法直接通过echo得到value1中的值(因为value1的类型也是数组)
            //所以我们再使用一次foreach循环,遍历每一个value1里的键值
            foreach ($value1 as $key2 => $value2) {
                //这样,我们就可以输出value2,也就得到了二维数组的值了
                echo $value2."<br>";//(推荐)
            }
        }
        echo "<br>";
        echo "<br>";
        echo "<br>";
        //同理,each() list() while循环做法也是使用循环遍历,得到二维数组的值
        while(list($key1,$value1)=each($arr2)){
            echo "$key1<br>";
            while(list($key2,$value2)=each($value1)){
                echo "$value2<br>";
            }
        } 
    ?>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值