【web 开发基础】PHP 循环结构之while循环 -PHP 快速入门 (17)

简介: 计算机最擅长功能之一就是按规定的条件重复执行某些操作,循环结构可以减少源程序重复书写的工作量,用来描述重复执行某段算法的问题,这是程序设计中最能发挥计算机特长的程序结构。循环结构可以看成一个条件判断语句和一个向回转向语句的组合。其特点是,在给定的条件成立时,反复执行某程序段,直到条件不成立为止。给定的条件称为循环条件,反复执行的程序段称为循环体。在PHP中提供了while,do-while和for三种循环。这三种循环可以用来处理同一问题,一般情况下他们可以互相替换。常用的三种循环结构学习的重点在于弄清楚它们的相同与不同之处。以便在不同的场合下使用。这就需要清楚三种循环的格式和执行顺序,将每种循

前言

计算机最擅长功能之一就是按规定的条件重复执行某些操作,循环结构可以减少源程序重复书写的工作量,用来描述重复执行某段算法的问题,这是程序设计中最能发挥计算机特长的程序结构。循环结构可以看成一个条件判断语句和一个向回转向语句的组合。其特点是,在给定的条件成立时,反复执行某程序段,直到条件不成立为止。给定的条件称为循环条件,反复执行的程序段称为循环体。在PHP中提供了while,do-while和for三种循环。这三种循环可以用来处理同一问题,一般情况下他们可以互相替换。常用的三种循环结构学习的重点在于弄清楚它们的相同与不同之处。以便在不同的场合下使用。这就需要清楚三种循环的格式和执行顺序,将每种循环的流程图解透彻后就会明白如何替换使用。例如:把while循环的例题用for循环语句重新编写一个程序,这样能更好的理解它们的作用。

特别要注意在循环体内应包含趋于结束的语句(即循环变量值的改变),否则就可能成为死循环,这是初学者易犯的常见错误,所以使用循环时一定要有一个停止的条件。根据循环停止条件的不同,在PHP中提供了两种类型的循环语句。

  1. 一种是计数循环语句,通常使用for循环语句完成
  2. 另一种是条件型循环语句,通常使用while或者do...while..循环语句完成

计数循环语句是指按指定的次数执行循环.比如:我们要打印100份的文档,我们在打印机设置好打印100份,没打1份,打印机就计数一次累加1;反复打印一百次就结束.所谓的条件型循环语句是指遇到特定的条件才停止循环,循环的次数是不固定的.这就好比我拿来一沓纸,放到打印机上,我不知道几张,打完为止,具体该循环多少次是不知道的,并不是固定的

while循环语句

while语句也称为while循环,是PHP中最简单的循环类型.与if语句相同,while语句也需要设定一个布尔类型条件,当条件为真时,他不断地执行一个语句块,直到条件为假就停止循环(跳出或结束循环)。if语句只执行后续代码一次,而while循环中只要条件为真,就会不断地执行后续代码。while循环通常用于控制循环次数未知的循环结构。while循环语法格式如下:

while(表达式){ //声明while语句
   语句块;//循环体,但表达式的值为true时,进入循环体内,执行里面的语句
}

while语句中"表达式"的计算结果一定要是布尔型的true值或false值,如果是其他类型的值也会自动转换为布尔类型的值。通常这个表达式是使用比较运算符或者逻辑运算符计算后的值。‘语句块’是一条语句或者一条复合语句(代码块)。当while语句控制执行一条语句时可以加花括号“{}”,也可以不加。如果是多条语句的代码块,那就一定要使用花括号“{}”括起来,才能一起被while语句控制执行,程序执行到while语句后,要养成好习惯不惯是一条还是多条语句都加上花括号“{}”,避免由于未加括号产生错误,将发生以下事件:

  1. 计算表达式的值,确定是true还是false
  2. 如果表达式的值为false,while语句将结束,然后执行while语句之后的语句。有时,如果while表达式的值一开始就是false,则循环语句,每一次都不会执行
  3. 如果表达式的值为true,则执行while语句控制的语句块
  4. 返回到第1步执行

编程实践

我们通过实例来了解while的基本用法。以下例子将执行10输出语句。虽然while循环通常用于控制循环次数未知的循环结构,但也可以使用计数的方式控制循环执行次数。

<?php$i=1;
while($i<=10){
echo"这是第" . $i . "次输出结果<br>";
$i++;
}

执行结果:

while语句与if语句一样也可以多成嵌套,通常是在有矩阵形式的输出时使用。例如,输出10行10列的数字时,就可以使用两层循环嵌套,内存的循环执行一次输出一个数字,连续执行10则输出一行数据。外层循环执行一次,则内层循环就执行10次输出一行(10列),外层循环执行10次,则输出10行,共输出100个数字。

<?php$i=0;
while($i<10){
$j=0;
while($j<10){
echo ($i*10+$j) . ",";
$j++;
  }
echo"<br>";
$i++;
}

执行结果:

while语句还可嵌套多层,如果没有必要,最好不要超过3层或以上。因为循环层次过多,那么循环次数会成倍增长,会影响PHP执行的效率。如果需要输出10个一样的数字矩阵,只需要在上面的代码中的外层循环的外面再加上一层10次的循环即可。这样循环的此时将变成1000次。

我们还可以使用循环计算数列的数字累加:比如计算1-100的数字的和,在数学中我们都知道使用高斯的求和(和=(首项+末项)×项数/2)公式来进行求解,现在我们用循环来求解该如何做呢?

<?php$i=1;
$sum=0;
while($i<=100){
$sum=$sum+$i;
$i++;
}
echo$sum;

执行结果:

目录
相关文章
|
7天前
|
SQL 存储 安全
PHP 与现代 Web 应用的安全挑战与解决方案
随着 Web 应用的发展,PHP 作为一种广泛使用的服务器端脚本语言,面临着越来越复杂的安全挑战。本文探讨了当前 PHP 开发中常见的安全问题,并提供了相应的解决方案,帮助开发者构建更安全可靠的 Web 应用。 【7月更文挑战第8天】
17 1
|
3天前
|
安全 大数据 编译器
PHP 8: 探索新特性及其对现代Web开发的影响
在这篇文章中,我们将深入探讨PHP 8的最新特性,包括JIT编译器、联合类型、匹配表达式等,并分析这些更新如何影响现代Web开发。通过具体示例和代码片段,本文旨在为开发者提供一个清晰的指南,以便更好地利用PHP 8的新功能优化和加速他们的应用程序。
9 2
|
3天前
|
编译器 测试技术 PHP
深入理解PHP 7的新特性及其对现代Web开发的影响
【7月更文挑战第12天】本文将探讨PHP 7版本中引入的关键改进和新增功能,以及这些变化如何优化了性能、提升了代码的可维护性,并促进了现代Web开发的最佳实践。通过具体示例,我们将深入了解这些新特性在日常开发中的应用,以及它们为开发者带来的实际益处。
10 2
|
3天前
|
PHP 开发者
PHP 8 新特性及其对现代Web开发的影响
PHP 8作为最新版本,引入了一系列强大的新特性和改进,这些变化不仅仅是语言本身的提升,更深刻地影响了现代Web开发的方式和效率。本文将深入探讨PHP 8的关键特性,分析其在开发实践中的应用和优势,帮助开发者更好地理解和利用这些新特性。 【7月更文挑战第12天】
9 1
|
7天前
|
安全 编译器 PHP
深入理解PHP 8的新特性及其对现代Web开发的影响
【7月更文挑战第8天】随着PHP 8的发布,这个广受欢迎的服务器端脚本语言迎来了重大更新,带来了性能提升和更现代化的编程特性。本文将探索PHP 8中的新特性,并分析它们如何改变开发者构建和维护Web应用的方式,同时指出这些变化对现有项目升级可能带来的挑战与机遇。
|
5天前
|
安全 编译器 数据处理
PHP 8新特性及其对现代Web开发的影响
随着PHP 8的发布,这一广泛使用的服务器端脚本语言引入了多项新特性和性能改进。本文将深入探讨PHP 8的关键更新,包括JIT编译器、联合类型、命名参数、匹配表达式等,并分析这些变化如何影响现代Web开发实践,以及开发者如何利用这些新工具来构建更快、更安全、更易维护的应用程序。
8 0
|
5天前
|
编译器 API PHP
PHP 8新特性及其对现代Web开发的影响
随着PHP 8的发布,这一广泛使用的服务器端脚本语言迎来了其发展历程中的一个重要里程碑。本文将深入探讨PHP 8引入的关键新特性,如JIT编译器、联合类型、匹配表达式等,并分析这些变化如何影响现代Web开发的实践和原则。通过具体案例和性能数据,我们将展示PHP 8如何优化代码编写、增强程序性能以及提升项目维护性,从而为开发者提供更高效、更可靠的开发体验。
7 0
|
XML PHP Apache
[b]PHP开发Web服务[/b]
[align=center][b]PHP开发Web服务[/b][/align]WSO2 WSF/PHP(WSO2 Web Services Framework/PHP,WSO2 Web服务框架) 是一个PHP扩展,允许用来创建和使用Web服务。
919 0
|
18天前
|
NoSQL 关系型数据库 MySQL
linux服务器重启php,nginx,redis,mysql命令
linux服务器重启php,nginx,redis,mysql命令
26 1
|
2月前
|
关系型数据库 MySQL PHP