PHP流程控制之循环结构
计算机程序最擅长的功能之一就是按规定的条件,重复执行某些操作。循环结构可以减少源程序重复书写的工作量,即在给定条件成立时,反复执行某程序段,直到条件不成立为止。给定的条件称为循环条件,反复执行的程序段称为循环体,在PHP中提供while循环、do-while循环和for循环三种。
while循环
while循环需要设定一个布尔型条件,当条件为真时,它不断地执行一个语句块,直到条件为假为止。程序执行到while语句后,会进行如下操作:
- 计算表达式的值,确定是
TRUE还是FALSE。 - 如果表达式为
FALSE,while语句将结束,然后执行while语句之后的语句。 - 如果表达式为
TRUE,则执行while语句花括号中的代码块,然后返回到第1步执行。
Demo
<html>
<head><title>使用while循环嵌套输出表格</title></head>
<body>
<table style="align: center;width:600px" border="1">
<?php
$out = 0;
while( $out < 10 ) {
$bgcolor = $out%2 == 0 ? "#FFFFFF" : "#DDDDDD";
echo "<tr style='background-color:".$bgcolor."'>"; //指定行的背景颜色
$in = 0;
while( $in < 10 ) {
echo "<td>".($out*10+$in)."</td>"; //执行一次,输出一个单元格
$in++;
}
echo "</tr>";
$out++;
}
?>
</table>
</body>
</html>
do...while循环
do...while和while循环非常相似,区别在于表达式的值是在每次循环结束时检查。do...while的循环语句必定会执行一次,因为表达式的结果值在每次循环结束后检查。
Demo
<?php
$count = 0;
do {
echo $count;
$count++;
}
while ($count < 10);
?>
for循环
for循环语句适用于明确知道重复执行次数的情况,即for语句将循环次数的变量在for语句中预先定义好。for语句由分号分隔成三个部分,即循环变量初始化、条件表达式和循环变量自增长或者自减少。初始化是一个赋值语句,它用来给循环控制变量赋初值;条件表达式是一个关系表达式,它决定什么时候退出循环;增量定义循环控制变量,每循环一次后按什么方式变化。。程序执行到for语句时,会进行如下操作:
- 第一次进入
for循环时,对循环控制变量赋初值。 - 根据判断条件的结果决定是否要继续执行循环,如果判断条件为真,则继续执行循环;如条件为假,则结束循环执行下面的语句。
- 执行完循环体内的语句后,系统会根据循环控制变量增减方式,更改循环控制变量的值,再回到步骤2重新判断是否继续执行循环。
Demo
<?php
for( $i = 1; $i <= 10; $i++ )
echo "这是第<b> $i </b>次循环执行输出的结果<br>";
?>
PHP流程控制之循环结构的更多相关文章
- 053 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 15 流程控制知识总结
053 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 15 流程控制知识总结 本文知识点: 流程控制知识总结 流程控制知识总结 选择结构语句 循环结构语句 ...
- 052 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 14 Eclipse下程序调试——debug2 多断点调试程序
052 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 14 Eclipse下程序调试--debug2 多断点调试程序 本文知识点: Eclipse下程序调 ...
- 051 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 13 Eclipse下程序调试——debug入门1
051 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 13 Eclipse下程序调试--debug入门1 本文知识点: 程序调试--debug入门1 程序 ...
- 050 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 12 continue语句
050 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 12 continue语句 本文知识点:continue语句 continue语句 continue ...
- 049 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 11 break语句
049 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 11 break语句 本文知识点:break语句 break语句 break语句前情回顾 1.swi ...
- 048 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 10 案例——阶乘的累加和
048 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 10 案例--阶乘的累加和 本文知识点:通过案例练习嵌套循环应用 案例练习--阶乘的累加和 案例题目 ...
- 047 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 09 嵌套while循环应用
047 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 09 嵌套while循环应用 本文知识点:嵌套while循环应用 什么是循环嵌套? 什么是循环嵌套? ...
- 046 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 08 for循环的注意事项
046 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 08 for循环的注意事项 本文知识点:for循环的注意事项 for循环的注意事项 for循环有3个 ...
- 045 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 07 for循环应用及局部变量作用范围
045 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 07 for循环应用及局部变量作用范围 本文知识点:for循环应用及局部变量作用范围 for循环 w ...
- 044 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 06 使用do-while循环实现猜字游戏
044 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 06 使用do-while循环实现猜字游戏 本文知识点:do-while循环深入运用 案例练习 案例 ...
随机推荐
- Azure PowerShell (3) 上传证书
<Windows Azure Platform 系列文章目录> 本文介绍的是国外的Azure Global Update 2015-09-01 发现一个新的命令,在Azure PowerS ...
- HTML5_03之Canvas绘图
1.Canvas绘图--JS绘图: <canvas id='c1' width='' height=''></canvas> * Canvas尺寸不能用CSS设置: c1.he ...
- 网站初步收工---www.dkill.net
今天10.30左右备案核审成功了,然后一天都在忙部署和一些其他的东西,中途也写了很多文档,遇到很多问题,直接琢磨了N久,暂时发了这么多教程,明天揭露阿里云的各种坑(先用winServer服务器,有时间 ...
- 前端MVC框架Backbone 1.1.0源码分析(一)
前言 如何定义库与框架 前端的辅助工具太多太多了,那么我们是如何定义库与框架? jQuery是目前用的最广的库了,但是整体来讲jQuery目的性很也明确针对“DOM操作”,当然自己写一个原生态方法也能 ...
- 模拟image的ajaxPrefilter与ajaxTransport处理
////////////////////////////////////////////////////////////////// // options 是请求的选项 // // originalO ...
- javascript中函数的3个高级技巧
× 目录 [1]作用域安全 [2]惰性载入 [3]函数绑定 前面的话 函数对任何一门语言来说都是一个核心的概念,在javascript中更是如此.前面曾以深入理解函数系列的形式介绍了函数的相关内容,本 ...
- ASP.NET MVC下的四种验证编程方式
ASP.NET MVC采用Model绑定为目标Action生成了相应的参数列表,但是在真正执行目标Action方法之前,还需要对绑定的参数实施验证以确保其有效性,我们将针对参数的验证成为Model绑定 ...
- 应用程序框架实战二十一:DDD分层架构之仓储(介绍篇)
前面已经介绍过Entity Framework的工作单元和映射层超类型的封装,从本文开始,将逐步介绍仓储以及对查询的扩展支持. 什么是仓储 仓储表示聚合的集合. 仓储所表现出来的集合外观,仅仅是一种模 ...
- YII 的源码分析(三)
前面已经看完了启动一个yii程序所要经过的流程,以及渲染一个页面是怎么完成的.今天要分析的是yii是如何处理用户请求的.也就是控制和动作部分. 还是以helloworld为例演示这一过程.我们在地址栏 ...
- gulp自动化构建工具
gulp 自动化构建工具,实时监控.代码合并.压缩... http://www.gulpjs.com.cn/ 中文网 http://gulpjs.com/plugins/ 英文网 ...