- PHP 教程
- PHP - 教程
- PHP - 简介
- PHP - 安装
- PHP - 历史
- PHP - 功能
- PHP - 语法
- PHP - Hello World
- PHP - 注释
- PHP - 变量
- PHP - echo 语句和 print 语句
- PHP - var_dump() 函数
- PHP - $ 和 $$ 变量
- PHP - 常量
- PHP - 魔术常量
- PHP – 数据类型
- PHP - 类型转换
- PHP - 类型戏法
- PHP - 字符串
- PHP - 布尔值
- PHP - 整数
- PHP - 文件和I/O
- PHP – 数学函数
- PHP - Heredoc & Nowdoc
- PHP - 复合类型
- PHP - 文件包含
- PHP - 日期和时间
- PHP - 标量类型声明
- PHP - 返回类型声明
- PHP 运算符
- PHP - 运算符类型
- PHP - 算术运算符示例
- PHP - 比较运算符示例
- PHP - 逻辑运算符示例
- PHP - 赋值运算符示例
- PHP – 字符串运算符
- PHP – 数组运算符
- PHP – 条件运算符示例
- PHP - Spread 运算符
- PHP - Null 合并运算符
- PHP - Spaceship 运算符
- PHP 控制语句
- PHP – 决策
- PHP - If…Else 语句
- PHP - Switch 语句
- PHP – 循环类型
- PHP - For 循环
- PHP - Foreach 循环
- PHP - While 循环
- PHP - do...While 循环
- PHP - Break 语句
- PHP - Continue 语句
- PHP 数组
PHP - For 循环
默认情况下,程序遵循语句的顺序执行。如果程序流指向程序中的任何先前语句,则它构成循环。PHP 中的 for 语句是在 PHP 脚本中构成循环的便捷工具。在本章中,我们将讨论 PHP 的 for 语句。
“for” 循环流程图
下面图片说明了 for 循环的工作原理 -
当您知道要执行一个语句或语句块的次数时,将使用 for 语句。
for 循环语法
PHP for 语句语法类似于 C 语言中的 for 语句。
for (expr1; expr2; expr3){
要执行的代码;
}
关键字 for 后跟一个括号,其中包含三个表达式,用分号分隔。它们中的每一个都可以为空,也可以包含多个表达式,以逗号分隔。括号后跟一个或多个放在大括号内的语句。它构成了循环的主体。
括号中的第一个表达式仅在循环开始时执行。它通常充当 初始化器,用于设置循环迭代次数的计数器的起始值。
在每次迭代开始时,都会评估 expr2。如果计算结果为 true,则循环继续并执行 body 块中的语句。如果计算结果为 false,则循环的执行结束。通常,expr2 指定 counter 的最终值。
expr3 在每次迭代结束时执行。在大多数情况下,此表达式会增加 counter 变量。
示例
for 循环的最常见示例如下 -
<?php
for ($i=1; $i<=10; $i++){
echo "迭代编号: $i \n";
}
?>
这是它的输出 -
迭代编号:2
迭代编号:3
迭代编号:4
迭代编号:5
迭代编号: 6
迭代编号:7
迭代编号:8
迭代编号:9
迭代编号:10
无限 for 循环
请注意,括号中的所有三个表达式都是可选的。只有两个分号的 for 语句构成无限循环。
for (; ;) {
循环体
}
要停止无限迭代,您需要在循环体中使用 break 语句。
递减的 for 循环
您还可以形成递减 for 循环。要有一个从 10 到 1 的 for 循环,请用 10 初始化循环变量,在每次迭代开始时计算的中间表达式会检查它是否大于 1。在每次迭代结束时执行的最后一个表达式应将其递减 1。
<?php
for ($i=10; $i>=1; $i--){
echo "迭代编号:$i \n";
}
?>
它将产生以下输出 -
迭代编号:9
迭代编号:8
迭代编号:7
迭代编号: 6
迭代编号:5
迭代编号:4
迭代编号:3
迭代编号:2
迭代编号:1
使用 for...endfor 结构
您还可以使用 “:”(冒号)符号启动循环块,并在块的末尾放置 endfor 语句。
<?php
for ($i=1; $i<=10; $i++):
echo "迭代编号: $i \n";
endfor;
?>
使用 for 循环迭代索引数组
数组中的每个元素都由以 “0” 开头的递增索引标识。如果存在包含 5 个元素的数组,则其下限为 0,上限为 4(数组大小 -1)。
要获取数组中的元素数,有一个 count() 函数。因此,我们可以使用以下 for 语句迭代索引数组 -
<?php
$numbers = array(10, 20, 30, 40, 50);
for ($i=0; $i<count($numbers); $i++){
echo "numbers[$i] = $numbers[$i] \n";
}
?>
它将产生以下输出 -
numbers[1] = 20
numbers[2] = 30
numbers[3] = 40
numbers[4] = 50
使用 for 循环迭代关联数组
PHP 中的关联数组是键值对的集合。箭头符号 (=>) 用于显示键与其值之间的关联。我们使用 array_keys() 函数来获取 key 数组。
下面的 for 循环从代码中定义的关联数组 $capitals 打印每个州的首都 -
<?php
$capitals = array(
"中国"=>"北京",
"日本"=>"东京",
"韩国"=>"汉城",
"美国"=>"华盛顿"
);
$keys=array_keys($capitals);
for ($i=0; $i<count($keys); $i++){
$cap = $keys[$i];
echo "$cap 的首都是 $capitals[$cap] \n";
}
?>
这是它的输出 -
日本 的首都是 东京
韩国 的首都是 汉城
美国 的首都是 华盛顿
PHP 使用嵌套 for 循环
如果在现有循环的主体内使用了另一个 for 循环,则称这两个循环已嵌套。
对于外循环的 counter 变量的每个值,内循环的所有迭代都完成。
<?php
for ($i=1; $i<=3; $i++){
for ($j=1; $j<=3; $j++){
echo "i= $i j= $j \n";
}
}
?>v
它将产生以下输出 -
i= 1 j= 2
i= 1 j= 3
i= 2 j= 1
i= 2 j= 2
i= 2 j= 3
i= 3 j= 1
i= 3 j= 2
i= 3 j= 3
请注意,字符串是数组的一种形式。strlen() 函数给出字符串中的字符数。
示例
下面的 PHP 脚本使用两个嵌套循环来打印每行中字符串的递增字符数。
<?php
$str = "www.qikepu.com";
for ($i=0; $i<strlen($str); $i++){
for ($j=0; $j<=$i; $j++){
echo "$str[$j]";
}
echo "\n";
}
?>
它将产生以下输出 -
ww
www
www.
www.q
www.qi
www.qik
www.qike
www.qikep
www.qikepu
www.qikepu.
www.qikepu.c
www.qikepu.co
www.qikepu.com