实验六 PHP循环控制语句(一)
- 格式:doc
- 大小:328.07 KB
- 文档页数:7
PHP的while循环PHPwhile循环在指定条件为true时执行代码块。
就跟随百分网小编一起去了解下吧,想了解更多相关信息请持续关注我们应届毕业生考试网!PHP循环在您编写代码时,经常需要反复运行同一代码块。
我们可以使用循环来执行这样的任务,而不是在脚本中添加若干几乎相等的代码行。
在PHP中,我们有以下循环语句:while-只要指定条件为真,则循环代码块do...while-先执行一次代码块,然后只要指定条件为真则重复循环for-循环代码块指定次数foreach-遍历数组中的每个元素并循环代码块PHPwhile循环只要指定的条件为真,while循环就会执行代码块。
语法while(条件为真){要执行的代码;}上例首先把变量$x设置为1($x=1)。
然后执行while循环,只要$x小于或等于5。
循环每运行一次,$x将递增1:实例<?php$x=1;while($x<=5){echo"这个数字是:$x<br>";$x++;}>运行实例PHPdo...while循环do...while循环首先会执行一次代码块,然后检查条件,如果指定条件为真,则重复循环。
语法do{要执行的代码;}while(条件为真);下面的例子首先把变量$x设置为1($x=1)。
然后,dowhile循环输出一段字符串,然后对变量$x递增1。
随后对条件进行检查($x 是否小于或等于5)。
只要$x小于或等于5,循环将会继续运行:实例<?php$x=1;do{echo"这个数字是:$x<br>";$x++;}while($x<=5);>运行实例请注意,dowhile循环只在执行循环内的语句之后才对条件进行测试。
这意味着dowhile循环至少会执行一次语句,即使条件测试在第一次就失败了。
下面的例子把$x设置为6,然后运行循环,随后对条件进行检查:实例<?php$x=6;do{echo"这个数字是:$x<br>";$x++;}while($x<=5); >运行实例。
深⼊解析PHP中foreach语句控制数组循环的⽤法foreach是PHP中很常⽤的⼀个⽤作数组循环的控制语句。
因为它的⽅便和易⽤,⾃然也就在后端隐藏着很复杂的具体实现⽅式(对⽤户透明)今天,我们就来⼀起分析分析,foreach是如何实现数组(对象)的遍历的。
我们知道PHP是⼀个脚本语⾔,也就是说,⽤户编写的PHP代码最终都是会被PHP解释器解释执⾏,特别的,对于PHP来说,所有的⽤户编写的PHP代码,都会被翻译成PHP的虚拟机ZE的虚拟指令(OPCODES)来执⾏,不论细节的话,就是说,我们所编写的任何PHP脚本,都会最终被翻译成⼀条条的指令,从⽽根据指令,由相应的C编写的函数来执⾏。
那么foreach会被翻译成什么样⼦呢?foreach($arr as $key => $val){echo $key . '=>' . $val . "\n";}在词法分析阶段,foreach会被识别为⼀个TOKEN:T_FOREACH,在语法分析阶段,会被规则:unticked_statement: //没有被绑定ticks的语句//有省略| T_FOREACH '(' variable T_AS{ zend_do_foreach_begin(&$1, &$2, &$3, &$4, 1 TSRMLS_CC); }foreach_variable foreach_optional_arg ')' { zend_do_foreach_cont(&$1, &$2, &$4, &$6, &$7 TSRMLS_CC); }foreach_statement { zend_do_foreach_end(&$1, &$4 TSRMLS_CC); }| T_FOREACH '(' expr_without_variable T_AS{ zend_do_foreach_begin(&$1, &$2, &$3, &$4, 0 TSRMLS_CC); }variable foreach_optional_arg ')' { zend_check_writable_variable(&$6); zend_do_foreach_cont(&$1, &$2, &$4, &$6, &$7 TSRMLS_CC); }foreach_statement { zend_do_foreach_end(&$1, &$4 TSRMLS_CC); }//有省略;仔细分析这段语法规则,我们可以发现,对于:foreach($arr as $key => $val){echo $key . ‘=>' . $val .”\n”;}会被分析为:T_FOREACH '(' variable T_AS { zend_do_foreach_begin('foreach', '(', $arr, 'as', 1 TSRMLS_CC); }foreach_variable foreach_optional_arg(T_DOUBLE_ARROW foreach_variable) ')' { zend_do_foreach_cont('foreach', '(', 'as', $key, $val TSRMLS_CC); } foreach_satement {zend_do_foreach_end('foreach', 'as');}然后,让我们来看看foreach_statement:它其实就是⼀个代码块,体现了我们的 echo $key . ‘=>' . $val .”\n”;T_ECHO expr;显然,实现foreach的核⼼就是如下3个函数:1. zend_do_foreach_begin2. zend_do_foreach_cont3. zend_do_foreach_end其中,zend_do_foreach_begin (代码太长,直接写伪码) 主要做了:1. 记录当前的opline⾏数(为以后跳转⽽记录)2. 对数组进⾏RESET(讲内部指针指向第⼀个元素)3. 获取临时变量($val)4. 设置获取变量的OPCODE FE_FETCH,结果存第3步的临时变量4. 记录获取变量的OPCODES的⾏数⽽对于 zend_do_foreach_cont来说:1. 根据foreach_variable的u.EA.type来判断是否引⽤2. 根据是否引⽤来调整zend_do_foreach_begin中⽣成的FE_FETCH⽅式3. 根据zend_do_foreach_begin中记录的取变量的OPCODES的⾏数,来初始化循环(主要处理在循环内部的循环:do_begin_loop)最后zend_do_foreach_end:1. 根据zend_do_foreach_begin中记录的⾏数信息,设置ZEND_JMP OPCODES2. 根据当前⾏数,设置循环体下⼀条opline, ⽤以跳出循环3. 结束循环(处理循环内循环:do_end_loop)4. 清理临时变量当然,在zend_do_foreach_cont 和 zend_do_foreach_end之间会在语法分析阶段被填充foreach_satement的语句代码。
php for循环例子PHP For循环例子:在PHP中,for循环是一种非常常用的循环结构,用于重复执行相同的代码块一定的次数。
以下是一个简单的PHP For循环的例子:```php<?phpfor ($i = 1; $i <= 10; $i++) {echo "当前数字是:" . $i . "<br>";}>```在上面的例子中,我们使用了for循环执行了一段代码块10次。
让我们逐步解释这个例子:- 首先,我们在for循环的括号内定义了一个初始值 `$i = 1` 。
这个初始值定义了循环的起点。
- 接下来,我们定义了一个循环条件 `$i <= 10` ,只要这个条件为真,循环就会继续执行。
在这个例子中,循环会一直执行到 `$i` 的值等于10为止。
- 在每次循环迭代之后,我们会对 `$i` 进行自增操作 `$i++` ,即将 `$i` 的值增加1。
- 循环的代码块是被花括号 `{}` 包围的部分。
在这个例子中,我们简单地使用了echo语句来输出当前的数字。
- 最后,我们使用了PHP的换行符 `<br>` 来在每次循环之后进行换行。
通过以上代码,我们可以得到以下的输出:```当前数字是:1当前数字是:2当前数字是:3当前数字是:4当前数字是:5当前数字是:6当前数字是:7当前数字是:8当前数字是:9当前数字是:10```这个例子展示了如何使用for循环来简单地重复执行一段代码块。
在实际中,我们可以根据具体需求自定义循环的起始值、循环条件以及迭代操作,以实现更复杂的逻辑。
php循环语句在编程语言中,循环语句是非常重要的基本结构,主要用于重复执行指定的多行代码,以实现特定任务。
PHP也不例外,有丰富的循环结构,如while循环、do while循环、for循环和foreach循环,可以满足大多数场景的要求。
本文将对php中的各种循环结构进行详细介绍。
1.while循环while循环是PHP中使用最为广泛的循环结构,可以实现按条件循环执行指定的代码。
while循环有两个部分,一个是判断条件,另一个是循环体;它的格式为:while(expr) {//循环体}while循环的运行过程如下:首先,while循环会检查判断条件是否满足,如果满足,则进入循环,执行循环体;在循环体内,可以通过break语句终止循环,也可以通过continue语句跳过当前循环,跳转至下一次循环。
2.do while循环do while循环和while循环类似,它也是以判断条件为基础的循环结构,不同的是,do while循环会先至少执行一次循环体,在这之后,再检查判断条件是否满足,从而确定是否要继续循环。
其语法格式为:do {//循环体} while(expr)do while循环也有break和continue语句,可以用于控制循环的执行。
3.for循环for循环是结构复杂但功能强大的循环结构,它可以初始化循环变量,定义循环条件和进行变量调整,因此可以实现更加灵活的循环,广泛应用于数组的遍历等场景。
for循环的语法格式如下:for(expr1; expr2;expr3) {//循环体}for循环的运行过程如下:首先,会检查expr1,如果expr1为真,则进入循环;然后,检查expr2,如果expr2为真,则继续执行循环体;最后,执行expr3,然后回到expr2,重复以上过程。
当expr2不满足时,for循环终止,程序跳出for循环。
4.foreach循环foreach循环是PHP中专门用于数组遍历的循环结构,它可以快速遍历每一个元素,并且在遍历过程中无需使用下标来访问数组元素,这大大减少了开发者在写代码时的工作量。
PHP循环控制语句之“do...while”前⾯给⼤家讲解了PHP循环语句中的while语句循环,其实,while语句还有另⼀种形式的表⽰,就是我们今天所要给⼤家讲解的,“do...while”循环语句。
do...while循环语句的概念do...while循环语句和while循环语句很相似,两者之间不同的区别就是,do...while循环语句要⽐while循环语句多循环⼀次,while循环语句,当表达式为假的时候,就会直接跳出当前的循环,⽽do...while循环语句,则是先执⾏⼀遍PHP语句,在对条件表达式进⾏判断。
就好⽐,我们平时去饮⽔机接⽔,有两种⼈,⼀种⼈先会看下桶⾥有没有⽔,如果有,再去按下按钮接⽔,这就是while循环;另⼀种⼈不管有没有⽔,先去按按钮,出⽔了就直接接⽔,要是没出⽔,再去看桶⾥有没有⽔,然后默默离开,这是do…while循环。
do...while循环语句的语法1 2 3do{statement } while(expr);语法详解:从语法看到,我们的条件表达式是放在PHP语句 statement后⾯的,这就是说不论expr表达式是否为true,do…while循环⾄少会执⾏⼀次。
现在⼀下我们do...while循环语句的流程图do...while循环语句实例本实例通过两个语句的运⾏来对⽐do...while循环和while循环两者之间的不同。
代码如下1 2 3 4 5 6 7 8 9 10 11 12<?phpheader("Content-type:text/html;charset=utf-8"); //设置编码$num=1; //声明⼀个整型变量$sum while($num!=1){ //使⽤while循环输出echo"不会看到"; //这句话不会输出}do{ //使⽤do...while循环输出echo"会看到"; //这句话会输出}while($num!=1);>。
php循环语句(⼀)PHP 循环语句什么是循环语句?在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执⾏某些语句。
⼀组被重复执⾏的语句称之为循环体,能否继续重复,决定循环的终⽌条件。
循环结构是在⼀定条件下反复执⾏某段程序的流程结构,被反复执⾏的程序被称为循环体。
循环语句是由循环体及循环的终⽌条件两部分组成的。
简单来说,在您编写代码时,您经常需要让相同的代码块⼀次⼜⼀次地重复运⾏。
我们可以在代码中使⽤循环语句来完成这个任务。
在 PHP 中,提供了下列循环语句:while - 只要指定的条件成⽴,则循环执⾏代码块do...while - ⾸先执⾏⼀次代码块,然后在指定的条件成⽴时重复这个循环for - 循环执⾏代码块指定的次数foreach - 根据数组中每个元素来循环代码块循环执⾏代码块指定的次数,或者当指定的条件为真时循环执⾏代码块。
While 循环while 循环将重复执⾏代码块,直到指定的条件不成⽴。
语法while (条件){要执⾏的代码;}下⾯的实例⾸先设置变量i的值为 1 ($i=1;)。
然后,只要i⼩于或者等于 5,while 循环将继续运⾏。
循环每运⾏⼀次,i就会递增 1:<html><body><?php$i=1;while($i<=5){echo "The number is " . $i . "<br>";$i++;}></body></html>运⾏结果:The number is 1The number is 2The number is 3The number is 4The number is 5do...while 语句do...while 语句会⾄少执⾏⼀次代码,然后检查条件,只要条件成⽴,就会重复进⾏循环。
语法do{要执⾏的代码;}while (条件);下⾯的实例⾸先设置变量i的值为 1 ($i=1;)。
循环控制语句1、while循环控制语句while循环语句⽤法:while(条件){语句序列;}程序执⾏时,先判断条件是否为逻辑真,若逻辑真则执⾏循环体内的语句块,执⾏⼀次后,将再判断条件时否为真,重复上述过程,直到条件逻辑为假,语句快将不再被执⾏程序设计中,对预先不知循环次数的程序设计,可以采⽤标记法进⾏循环控制。
简单的讲,标记法就是事先设置⼀个标记变量⽤于控制循环条件,初始值为逻辑真,在循环过程中当满⾜⼀定条件时,将该标记变量设置为逻辑假,从⽽结束循环。
以商场收银系统为例#include<stdio.h>int main(){ double price; double total = 0; double payment; double change; int flag = 1;//循环控制变量初始化为逻辑真 while( 1 == flag) { printf("请输⼊商品价格: "); scanf("lf",&price); if(price < 0.01) flag = 0; else total = total + price; } printf("应付: %.2\n",total); printf("付款: “); scanf("%lf",&payment); if(payment >= total) { change = payment - total; printf("找零: %./2f\n",change); } else printf("付款不⾜"); return 0;}2、for循环语句for循环语句⽤法for(表达式1;表达式2;表达式3){循环体;}表达式1:计数变量赋初始值表达式2:循环条件表达式(它将再每次执⾏循环体前被判断)表达式3:修改计数变量表达式(每执⾏完⼀次循环体后⾃动被执⾏⼀次)3、do while循环语句do while常被称为直到型循环语句,⽤法为do{循环体}while(条件);该循环语句,先执⾏循环体,再判断循环条件是否为逻辑真,重复这⼀过程,直到循环条件为逻辑假为⽌即do while循环⾄少执⾏⼀次循环体。
实验六 PHP循环控制语句(一)
一、实验目的与要求
1.复习编写和测试PHP程序的方法。
2.掌握PHP循环控制语句的使用(包括while、do……while语句)。
二、实验内容
1. while语句的使用精品文档,你值得期待
while语句的作用:如果符合条件,则不断重复执行某一项操作。
while语句的语法:
while (条件表达式)
{
程序块
}
说明:
●在程序执行时,首先判断条件表达式的值是否为真,如果是真,则执行程序块,如果是假,则退
出循环。
●通常在while循环之前,会初始化变量的值,在while循环的程序块中会包含修改循环变量的语句,
比如:变量加1或减1的操作。
【任务1】使用while语句编程,要求:使用while循环语句计算100以内奇数的和,即求1+3+5+……+99的值。
输出格式如下图所示:
将该PHP页面保存在文件夹“C:\ phpstudy \WWW”中,命名为task1.php。
步骤:
①打开Dreamweaver CS5软件,新建一个PHP页面,并保存在文件夹“C:\ phpstudy\WWW”中,命名为task1.php。
②在代码视图的<body>和</body>之间输入PHP程序代码,如下:
③完成后,保存task1.php网页文档,按下F12键在浏览器中预览效果。
此时,会弹出设置服务器的提示,单击“是”,就可以在站点设置中建立一个新站点,如下图所示:
输入站点名称:PHP实验,本地站点文件夹:C:\ phpstudy\WWW。
单击左侧的“服务器”,会出现一个设置服务器的窗口,点击“+”按钮,添加一个远程服务器。
在弹出的窗口中设置服务器的基本和高级选项(如下图所示),完成后,单击“保存”按钮。
服务器设置完成后,预览网页task1.php,如下图所示:
【任务2】使用while语句编程,要求:计算200以内偶数的和,即求2+4+6+……+200的值。
输出格式如下图所示:
将该PHP页面保存在文件夹“C:\ phpstudy \WWW”中,命名为task2.php。
代码:请同学们自己编写代码。
完成后,保存task2.php网页文档,按下F12键在浏览器中预览效果。
如下图所示:
2.do……while语句的使用
do……while语句的语法:
do {
程序块
} while (条件表达式);
说明:
●在程序执行时,首先执行一次程序块,然后再判断条件表达式的值是否为真,如果是真,则继续
执行程序块,如果是假,则退出循环。
●通常在do……while循环之前,会初始化变量的值,在do……while循环的程序块中会包含修改
循环变量的语句,比如:变量加1或减1的操作。
【任务3】使用do……while语句编程,要求:计算200以内偶数的和,即求2+4+6+……+200的值。
输出格式如下图所示:
将该PHP页面保存在文件夹“C:\ phpstudy \WWW”中,命名为task3.php。
代码:
完成后,保存task3.php网页文档,按下F12键在浏览器中预览效果。
如下图所示:
【任务4】使用do……while语句编程,要求:已知某公司工程师的实发工资计算方法是基本工资加上工龄工资,其中基本工资是3000元,工龄工资则按工龄逐年增长,每年增长50元(未满1年没有工龄,满1年时才算第1年的工龄)。
请编程计算并输出该公司工程师第1年到第10年的实发工资分别是多少。
输出格式:第……年的实发工资是……元。
将该PHP页面保存在文件夹“C:\ phpstudy \WWW”中,命名为task4.php。
代码:请同学们自己编写代码。
完成后,保存task4.php网页文档,按下F12键在浏览器中预览效果。
如下图所示:
【任务5】使用while或do......while语句编程,要求:计算10!(即10的阶乘),并输出结果提示:计算10的阶乘是从1开始进行累乘,直到乘到它本身的数10为止,即1*2*3*4* (10)
输出格式如下图所示:
将该PHP页面保存在文件夹“C:\ phpstudy \WWW”中,命名为task5.php。
代码:请同学们自己编写代码。
完成后,保存task5.php网页文档,按下F12键在浏览器中预览效果。
如下图所示:
上交实验内容:
在桌面上新建一个文件夹“学号末2位+姓名”,将WWW文件夹中的PHP 网页task1.php~task5.php都复制到“学号末2位+姓名”文件夹中,将自己的“学号末2位+姓名”文件夹上交到教师机指定文件夹中。