实验六 PHP循环控制语句(一)
实验六 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位+姓名”文件夹上交到教师机指定文件夹中。
深入解析PHP中foreach语句控制数组循环的用法
深⼊解析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的语句代码。
phpfor循环语句
phpfor循环语句
嘿,朋友!你知道 PHP 中的 for 循环语句吗?这玩意儿可太有用啦!
比如说,你想从 1 数到 10 并把每个数都打印出来,这时候 for 循环
就派上用场啦!它就像一个勤劳的小工人,按照你设定的规则,一步
一步,有条不紊地完成任务。
for ($i = 1; $i <= 10; $i++) {
echo $i. "\n";
}
这代码一跑,它就乖乖地给你输出 1 到 10 ,是不是很神奇?
想象一下,假如你要给班级里的每个同学发一本作业本,for 循环
就像是你的助手,能帮你一个一个地处理,绝不会遗漏任何一个同学。
再比如说,你要计算 1 到 100 的总和,for 循环也能轻松搞定。
$sum = 0;
for ($i = 1; $i <= 100; $i++) {
$sum += $i;
}
echo $sum;
它就这么一步步累加,直到算出最终的结果。
总之,PHP 的 for 循环语句简直是编程中的神器,能帮我们解决好多好多重复的工作。
你难道不想好好掌握它,让编程变得更轻松高效吗?
我的观点结论就是:PHP 的 for 循环语句是非常强大且实用的,一定要熟练运用它,能让我们在编程中事半功倍!。
php循环语句
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循环控制语句之“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);>。
第3章:循环控制语句
Switch举例 举例
i i i i i i i i i i i i i
<?php $a=3; //expr条件为变量名称 switch ($a){ case 1 : //case后的expr1为变量的值 echo "混蛋"; //冒号":"后的则是符合该条件时要执行的部分 break ; //应用break来跳离循环体 case 2 : echo "混球"; break ; default: echo "牛人"; break; } ?>
i i i i i i i i i i i
else if ( $a<=90 && $a>70){ echo " 成绩良好"; } else if($a<=70 && $a>60){ echo "成绩合格"; }else{ echo "成绩不及格"; } }else{ echo "成绩有误"; }
i i
i
学生分组上台,由结果统计分数并由教师作出总结。
php控制循环流程语句
php控制循环流程语句下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。
文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor. I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!1. `for` 循环:`for` 循环是 PHP 中最常用的循环语句之一。
php循环语句
2
echo '<table border="1" width="800" align="center">'; echo '<caption><h1>使用一个while循环输出的表格 </h1></caption>'; $i=0; while($i<100){ if($i%2==0){ $bg="#ffffff"; }else{ $bg="#cccccc"; } echo '<tr bgcolor='.$bg.'>'; $j=0; while($j<10){ echo '<td>'.($i*10+$j).'</td>'; $j++; } $i++; echo '</tr>'; } echo '</table>'; ?>
FOR语句实现乘法口诀
for($i=1; $i<=9; $i++){ for($j=1; $j<=$i; $j++){ echo "$j x $i = ".$j*$i." "; } echo '<br>'; }
特殊流程控制语句
Br句
$i=1; While(i<100){ Echo “这是执行$i 条循环语句<br/>”; }
echo '<table border="1" width="800" align="center">'; echo '<caption><h1>使用一个while循环输出的表格</h1></caption>';
php循环语句
php循环语句php循环语句是php程序设计的重要元素之一,它可以控制php 程序的执行,它可以把一个代码片段重复执行多次,使其能够完成一系列的任务。
本文将介绍php中常用的循环语句,它们是for,while 和do while循环。
for循环是php中最常用的循环,它可以重复执行指定次数的代码,主要语句如下:for (初始值;件;增值) {环体}使用for循环时,必须指定一个初始值,初始值表示一个变量的起始值,比如$i=0;条件表示一个变量的值是否充许变化,比如$i小于或等于10;步增值表示循环体执行一次变量的增加值,比如$i++;最后是循环体,即需要重复执行的代码。
while循环和for循环相似,它也可以重复执行指定次数的代码,主要语句如下:$i = 0;while ($i < 10) {环体$i++;}与for循环不同的是,while循环只有一个条件,没有初始值和步增值;在while循环中,需要在循环体末尾手动更新变量的值,以满足while条件。
do while循环也是一种重复执行代码的循环,主要语句如下: $i = 0;do {环体$i++;} while ($i < 10);do while循环与while循环类似,但它的条件位于循环体末尾,因此即使条件不满足,也会先执行一次循环体,这种特性使得do while循环更加灵活。
以上就是php中常用的三种循环语句,他们都可以重复执行指定次数的代码。
php中的循环语句不仅仅是用来重复执行指定次数的代码,它们还可以用来实现复杂的程序功能,比如循环数组元素、生成html代码片段等,这就是php程序设计的强大之处。
PHP控制结构1
PHP控制结构7.forfor循环是PHP 中最复杂的循环结构。
它的行为和C 语言的相似。
for循环的语法是:for (expr1; expr2; expr3)statement第一个表达式(expr1)在循环开始前无条件求值一次。
expr2在每次循环开始前求值。
如果值为TRUE,则继续循环,执行嵌套的循环语句。
如果值为FALSE,则终止循环。
expr3在每次循环之后被求值(执行)。
每个表达式都可以为空或包括逗号分隔的多个表达式。
表达式expr2中,所有用逗号分隔的表达式都会计算,但只取最后一个结果。
expr2为空意味着将无限循环下去(和 C 一样,PHP 认为其值为TRUE)。
这可能不像想象中那样没有用,因为经常会希望用break语句来结束循环而不是用for的表达式真值判断。
考虑以下的例子,它们都显示数字1 到10:<?php/* example 1 */for ($i = 1; $i <= 10; $i++) {echo $i;}/* example 2 */for ($i = 1; ; $i++) {if ($i > 10) {break;}echo $i;}/* example 3 */$i = 1;for (;;) {if ($i > 10) {break;}echo $i;$i++;}/* example 4 */for ($i = 1, $j = 0; $i <= 10; $j += $i, print $i, $i++);?>当然,第一个例子看上去最正常(或者第四个),但用户可能会发现在for循环中用空的表达式在很多场合下会很方便。
PHP 也支持用冒号的for循环的替代语法。
for (expr1; expr2; expr3):statement;...endfor;我们经常需要对下面这样的数组进行遍历:<?php/** 我们想要在遍历的过程中改变以下数组中某些元素的值*/$people = Array(Array('name' => 'Kalle', 'salt' => 856412),Array('name' => 'Pierre', 'salt' => 215863));for($i = 0; $i < sizeof($people); ++$i){$people[$i]['salt'] = rand(000000, 999999);}?>以上代码的问题,在于for的第二个表达式会导致代码执行很慢--因为每次循环时都要计算一遍数组的长度。
循环控制语句实验报告
一、实验目的1. 熟悉循环控制语句的语法和应用。
2. 学会使用for循环、while循环和do-while循环解决实际问题。
3. 提高编程能力,培养逻辑思维能力。
二、实验环境1. 操作系统:Windows 102. 编程语言:Python3.73. 开发环境:PyCharm三、实验内容1. for循环2. while循环3. do-while循环(Python中无do-while循环,使用while循环实现)四、实验步骤及结果1. for循环(1)实验目的:计算1到10的累加和。
(2)实验步骤:a. 定义变量sum为0,用于存储累加和。
b. 使用for循环遍历1到10的整数。
c. 在循环体内,将当前数字加到sum变量上。
d. 循环结束后,打印sum变量的值。
(3)实验结果:```pythonsum = 0for i in range(1, 11):sum += iprint(sum)```输出结果:552. while循环(1)实验目的:计算1到10的累加和。
(2)实验步骤:a. 定义变量sum为0,用于存储累加和。
b. 定义变量i为1,作为循环的初始值。
c. 使用while循环判断i是否小于等于10。
d. 在循环体内,将当前数字加到sum变量上,并将i加1。
e. 循环结束后,打印sum变量的值。
(3)实验结果:```pythonsum = 0i = 1while i <= 10:sum += ii += 1print(sum)```输出结果:553. do-while循环(Python中无do-while循环,使用while循环实现)(1)实验目的:计算1到10的累加和。
(2)实验步骤:a. 定义变量sum为0,用于存储累加和。
b. 定义变量i为1,作为循环的初始值。
c. 使用while循环判断i是否小于等于10。
d. 在循环体内,将当前数字加到sum变量上,并将i加1。
e. 循环结束后,打印sum变量的值。
