zoukankan      html  css  js  c++  java
  • 数组_01_数组的遍历

    数组的遍历

    遍历:对每个节点都访问一次,每个都经历一遍的意思

    百科解释:是指沿着某条搜索路线,依次对树(或图)中每个节点均做一次访问。

     一  for循环遍历

    用的比较少,有一些缺陷,不能遍历关联数组

    //用for循环遍历一维索引数组
    $name = ['张飞','关羽','赵云'];
    for ($i=0; $i < count($name) ; $i++) { 
        echo $name[$i].'<br>';
    }

    引申知识点:count()函数

    count()函数:计算数组中的单元数目,或对象中的属性个数

    函数第二个可选参数:COUNT_RECURSIVE或1   //将递归对数组成员计数,对计算多维数组的所有单元尤其有用

    $num = [
        0 => [1,2,3,4],
        1 => [5,6,7,8]
    ];
    //echo count($num);//打印结果:2 说明默认只统计第一层的个数
    echo count($num,COUNT_RECURSIVE);//打印结果:10 加上第二个可选参数,统计所有的

    二  重点 foreach遍历

    foreach 语法结构提供了遍历数组的简单方式。foreach仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息

    1)基础语法

    //语法格式1
    foreach (数组变量 as 变量1) {
        //每次循环执行的代码块
        //变量1代表当前正在经历(访问)的数据
    }
    //每次循环中,当前单元的值被赋给$value,并且数组内部的指针向前移一步(因此下一次循环将会得到下一个单元)
    
    //语法格式2
    foreach (数组变量 as 变量1 => 变量2) {
        //每次循环执行的代码块
        //变量1代表当前正在经历(访问)数据的 索引值
        //变量2代表当前正在经历(访问)的数据
    }
    //每次循环中,当前单元的键名赋值给$key,值赋值给$value,并且数组内部指针向前移一步(因此下一次循环将会得到下一个单元)

    2) 遍历不规律二维数组

    //foreach 遍历二维数组
    $name = [
        '张飞',
        '关羽',
        '赵云',
        array(1,2,3,4)
    ];
    
    foreach ($name as $key => $value) {
       var_dump($value);
    }
    //默认只遍历第一场的数据 最后一个array数组当成了一个整体,没有被遍历出来。
    //遇到这种情况怎么办,用递归的思想解决

    3)foreach嵌套遍历规律二维数组

     

    4)示例:foreach遍历循环输出一个表格

    //实战一个foreach
    $student = [
        ['张飞',true,55],
        ['关羽',true,59],
        ['赵云',false,60]
    ];
    
    echo '<table border=1>';
    foreach ($student as $value) {
        ($value[1]) === true ? $value[1] = '男' : $value[1] = '女';
        echo "<tr><td>$value[0]</td><td>$value[1]</td><td>$value[2]</td></tr>";
    }
    echo '</table>';
  • 相关阅读:
    2020春软件工程助教工作总结【第十四周】
    【西北师大-20软工】第三次团队作业成绩汇总
    2020春软件工程助教工作总结【第十二周】
    2020春软件工程助教工作总结【第十周】
    将作业提交到班级博客的一些注意事项
    操作系统第6次实验报告:使用信号量解决进程互斥访问
    操作系统第5次实验报告:内存管理
    操作系统第4次实验报告:文件系统
    操作系统第3次实验报告:管道
    操作系统第2次实验报告:创建进程
  • 原文地址:https://www.cnblogs.com/fuyunlin/p/13914243.html
Copyright © 2011-2022 走看看