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