欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

php流程控制语句

程序员文章站 2022-03-29 09:34:13
...
php流程控制语句

条件控制语句和循环控制语句是两种基本的语法结构。它们都是用来控制程序执行流程的,也是构成程序的主要语法基础。

程序的3种控制结构
条件控制语句
循环控制语句
跳转语句
包含语句

1.程序设计的结构大致分为顺序结构,选择(分支)结构和循环结构3种。

循环结构可以按照需要多次重复执行一行或者多行代码,循环结构分为前测试型循环和后测试型循环两种。
前测试型循环,先判断后执行,
后测试型循环,先执行后判断。

条件控制语句:if ,slse,elseif和switch
循环控制语句:while,do...while,for和foreach
跳转控制语句:break,continue和retun

2.条件控制语句
所谓的条件控制语句就是对语句中不同条件的值进行判断,进而根据不同条件执行不同的语句,在条件控制语句中主要有两个语句:if条件控制语句和switch多分支语句。

1. if条件控制语句是所有流程控制语句中最简单,最常用的一个,根据获取的不同条件判断执行不同的语句
if(expr)
statement; //基本的表达式
if(){} //执行多条件语句的表达式
if(){}else{} //通过else延伸了表达式
if(){}elseif(){}else{} //这是加入了elseif同时判断多个条件的表达式

//参数expr按照布尔求值,如果为true将执行statement,如果为FALSE,则忽略statement,if语句可以无限层地嵌套到其他if语句中去,实现更多条件的执行。


2. switch多分支语句:switch语句和if条件控制语句类似,实现将同一个表达式与很多不同的值比较,获取相同的值,并且执行相同的值对应的语句。

switch(expr){ //表达式的值,即switch语句的条件变量的名称
case expr1; //放在case语句之后,是要与条件变量expr进行匹配的值中的一个
statement1; //条件匹配时,执行的代码
break; //终止语句的执行,即当语句在执行过程中,遇到break主停止执行,跳出循环体
case exp2;
statement2;
break;
default; //case的一个特例,其他任何case都不匹配的情况,并且是最后一条case语句
statementN;
break;
}

3、循环语句

循环语句,是在满足条件的情况下反复执行某一个操作,在php中,提供4个循环控制语句,分别是while循环语句,do..while,for,foreach循环

1.while循环语句,其作用是反复地执行某一项操作,是循环控制语句中最简单的一个,也是最常用的一个,while循环语句对表达式的值进行判断,当表达式为非0时,执行while语句中的内嵌语句,当表达式的值为0时,则不执行while语句中的内嵌语句。该语句的特点是:先判断表达式,后执行语句。
例:while(expr){
statement;
} //只要while表达式的expr的值为TRUE,就重复执行嵌套中的statement语句,如果while表达式的值一开就是FALSE,则循环语句一次也不执行。

while循环语句:
$a=1;
$b=10;
while ($a $p=40*12*$a;
echo "aaaa:".$a."bbbbb:".$p."
";
$a++;
}

2、do..while循环语句的使用方式和while相似,也是通过判断表达式的值来输出循环语句。该语句的操作流程是:先执行一次指定的循环语句,然后判断表达式的值,当表达式的值为非0时,返回重新执行循环体语句,如此反复。直到表达式的值等于0为止。特点是,先执行循环体,然后判断循环条件是否成立。

例:
do{
statement; //程序在未经判断之前就先进行一次循环,循环到while部分才判断条件,即使条件不满足,程序也已经运行了一次。
}while(expr);

while和do..while语句之间的区别:do..while语句先执行后判断,无论表达式的值是否为TRUE,都将执行一次循环,而while语句则是首先判断表达式的值是否为TRUE,如果为TRUE则执行循环语句,否则将不执行循环语句。

3、for循环语句,是php中最复杂的循环控制语句,拥有3个条件表达式,语法如下:

for(expr1;expr2;expr3){
statement
}

expr1 必要参数,第一个条件表达式,在第一次循环开始时被执行
expr2 必要参数,第二个条件表达式,在每次循环开始时被执行,决定循环是否继续
expr3 必要参数,第三个条件表达式,在每次循环结束时被执行,
statenebt 必要参数,满足条件后,循环执行的语句

其执行过程:首先执行表达式1,然后执行表达式2,并对表达式2的值进行判断,如果值为真,则执行for循环语句中指定的内嵌语句,如果值为假,则结束循环,跳出for循环语句,最后执行表达式3(切忌是在表达式2的值为真时),返回表达式2继续循环执行,

4、foreach循环语句
foreach循环控制语句自php4开始被引入,主要用于处理数组,是遍历数组的一种简单方法,如果将该语句用于处理其他的数据类型或者初始化的变量,将会产生错误。该语句的语法有两种格式:
foreach(array_expression as $key=>value){
statement
}

foreach(array_expression as $value){
statement
}

//array_expression是指定要遍历的数组,其中$key是数组的键名,$value是数组的值,statement是满足条件时要循环执行的语句。

4、跳转语句

跳转语句主要分为break语句,continue语句和return语句3部分,其中前两个跳转语句使用起来非常简单,而且非常容易掌握,主要原因是它们都被应用在指定的环境中,如for循环语句中。return语句在应用环境上较前两者相对单一,一般被使用在自定义函数和面向对象的类中。

break关键字可以终止当前的循环,包括while,do..while,for,foreach和switch在内的所有控制语句,break语句不仅可以跳出当前的循环,还可以指定跳出几重循环,格式如:break n; 参数n指定要跳出的循环数量。

continue跳转语句,在程序执行break后,程序将跳出循环,而开始继续执行循环体的后续语句,continue跳转语句的作用没有break那么强大,只能终止本次循环,而进入到下一次循环中。在执行contiue语句后,程序将结束本次循环的执行,并开始下一轮循环的执行操作。continue也可以指定跳出几重循环。

break和continue语句都是实现跳转的功能,但还有区别,continue语句只是结束本次循环,并不是终止整个循环的执行,而break语句则是结束整个循环过程,不在判断执行循环的条件是否成立。

5、包含语句

引用外部文件可以减少代码的重用性,

使用include()语句包含外部文件时,只有代码执行到该语句时才将外部文件包含进来,当所包含的外部文件发生错误时,系统只给出一个警告,而整个php文件则继续向下执行。语法: include(filename); filename是指定的完整路径文件名。

require()语句与include()语句类似,都是实现对外部文件的调用,语法require(filename); 当使用require()语句载入文件时,它会作为php文件的一部分被执行,例如,通过require()载入一个网而文件,那么文件内的任何php命令都会被处理,但是,如果将php脚本单纯放到html网页中,它是不会被处理的。

include_once()语句,include_once()与include()函数的区别,应用include_once()函数多次调用相同的文件,程序只会调用一次。他和include函数基本一样,唯一区别是,就是include_once函数会在导入文件前先检测该文件是否在该页面的其他部分被导入过,如果有的话就不会重复导入该文件,这个区另很重要。如果在导入一些自定义函数,如果重复导入会有问题。

require_once()语句,是require的延伸,与他的功能类似。同include_once()语句的意义一样。如果require_once语句在同一页面中调用了两个相同的文件,那么在输出时只有第一个文件被输出,第一次调用的文件不会被输出。

include()和require()语句的区别:

require()语句调用文件时,如果没找到文件,会输出错误信息,并且立即终止脚本处理,而include()没找到则会发出警告,不会终止脚本的处理。
require()语句调用文件时,只要程序一执行,会立刻调用外部文件,而通过include()语句调用外部文件时,只有程序执行到该语句时,才会调用外部文件。

require_once()和include()语句的区别:他们的用途是确保一个被包含文件只能被包含一次,可以防止意外地多次包含相同的函数库而导致函数的重复定义并且产生错误的情况,但两都区别和require()与include()之间的一样。


复习:

1.顺序结构,
2.选择(分支)结构
3.循环结构
4.条件控制语句 学2种
5.循环控制语句 学4种
6.跳转语句 学3种
7.包含语句,2种,应该是4种,及他们的区别

作者“技术为王”