数组是一个非常基础和重要的数据结构,当我们创建好一个数组后,就需要去操作它;而数组最常见的一个操作就是循环遍历。PHP中支持多种遍历数组的方法,今天我们就来学习如何利用for循环语句来遍历数组,下面来一起学习吧!!
在之前的文章《PHP循环学习二:如何使用do-while循环语句》中,我们学习了do-while循环语句的使用,下面本篇文章就来带大家了解一下for循环语句,通过代码示例来介绍一下使用for循环语句遍历数组的方法。
一、for循环语句的结构解析
for循环会将控制循环次数的变量预先定义在for语句中,因此for循环语句能够按照已知的循环次数进行循环操作,适用于明确知道脚本需要运行的次数的情况。
for 循环的语法格式如下:
for (初始化语句; 循环条件; 变量更新--自增或自减) {
语句块;
}
for循环语句可以拆解为4个部分:()号中的三个表达式和{}中的“语句块”,下面我们来分析一下。
语句解析:
-
初始化语句(表达式1):主要是初始化一个变量值,用于设置一个计数器,即循环开始的值;该语句仅在第一次循环时执行,以后都不会再执行。
-
循环条件(表达式2):循环执行的限制条件,用于控制是否执行循环体中的代码;如果条件为TRUE,则循环继续,如果条件为FALSE ,则循环结束,立即退出循环。
-
变量更新(表达式3):一个带有自增或自减操作的表达式,循环每执行一次,马上修改计数器的值,以使循环条件逐渐变得“不成立”。
-
语句块:条件判断为真时,需要执行的若干代码。
上面的描述是不是有点绕,我们来看看for循环语句的执行流程图,可以更直观的了解for循环的执行过程:
了解了for循环的执行过程,接下来我们来实际操作,做一个小题,来看看有没有掌握吧!
训练题:
计算从1加到100的和
<?php
$sum=0;
for($i=1; $i<=100; $i++){
$sum+=$i;
}
echo '1 + 2 + 3 +...+ 99 + 100 = '. $sum;
?>
输出:
1 + 2 + 3 +...+ 99 + 100 = 5050
我们变一下,既然可以求1加到100的和,也可以求1乘到100的乘积(100 的阶乘)
<?php
$sum=1;
for($i=1; $i<=100; $i++){
$sum*=$i;
}
echo '1 * 2 * 3 *...* 99 * 100 = '. $sum;
?>
输出:
1 * 2 * 3 *...* 99 * 100 = 9.3326215443944E+157
注:因为0乘以什么都是0,所以这里$sum变量的初始值就不能为0,而是1了。
二、for循环语句遍历数组
下面我们先通过代码示例来具体看看如何遍历,然后通过分析代码来详细了解。
<?php
header("Content-type:text/html;charset=utf-8");
$array= array("香蕉","苹果","梨子","橙子","橘子","榴莲");
for ($i=0; $i < count($array); $i++) {
echo $array[$i] . "<br/>";
}
?>
输出:
香蕉
苹果
梨子
橙子
橘子
榴莲
代码分析:
-
初始化语句为$i=0:示例的数组是一个索引数组,数组的下标默认从0开始,因此循环开始的值要为0。
-
循环条件$ i<count($ array):count()函数用于计算数组长度,则循环条件为 $ i < 数组长度 ,因为当 $ i = 数组长度 时,$i已经超出了索引范围(索引范围是0 ~ 数组长度-1)。
-
变量更新$ i++:每次循环后,变量$ i自动增加1,直到$ i = 数组长度时,因为$i超出了索引范围,以使循环条件不成立,然后退出循环。
-
echo $ array[$ i] . “< br/>”:每循环一次,就根据$i值–数组下标 ,来输出数组元素。
说明:使用for循环遍历数组的形式是不会改变数组的内部指针的。
本文转载自:https://www.php.cn/php-weizijiaocheng-480651.html
推荐:《PHP面试题大汇总(收藏)》《php视频教程》