数组_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>';

 

posted @ 2020-11-02 14:24  棉花糖88  阅读(511)  评论(0编辑  收藏  举报