您现在的位置是:首页 >技术教程 >流程控制语句网站首页技术教程
流程控制语句
一.流程控制语句
1.if语句
PHP的if语句格式如下
if(表达式)
语句;
如果表达式的值为真,那么久顺序执行语句;否则,就会跳过该条语句,再往下执行。如果要执行的语句不指一条则用{},{}被称为语句组,格式如下:
if(表达式){
语句1:
语句2:
...
}
说明:rand()函数的作用是取得一个随机的整数,格式如下:
int rand(in mix,int max)
返回的mix~max之间的一个随机数,如果没有参数则返回0~RANM_MAX之间的随机整数。
2.if .... else语句
大多时候,宗是要再满足某个条件时执行一条语句,而在不满足该条件时执行其他语句。这是用if else语句。格式如下:
if(表达式){
语句1;
}else{
语句2;
}
3.elseif语句
if....else语句只能选择两种结果,要么执行真,要么执行假,但有时会出现两种以上的选择,这时可以使用elseif语句,格式如下:
if(表达式1){
语句1;
}else if (表达式2){
语句2;
}...
else{
语句n;
}
注意:if语句和elseif语句执行的条件是表达式的值为真,而else执行的条件是表达式的值为假。表达式的值不等于变量的值。
4.switch语句
虽然else if语句1可以进行多重选择,但使用很繁琐,为了避免if语句过于长,提高程序的可读性,可以使用switch分支控制语句,语法如下:
switch(变量或表达式){
case 常量表达式 1:
语句1;
break;
case 常量表达式2;
...
case 常量表达式n;
语句n;
break;
default;
语句n+1;
}
注意:switch语句根据变量或表达式的值,依次与case中的常量表达式的值相比较,如果不相等继续查找下一个case,相等就执行对应的语句直到结束或遇到break为止。
在执行switch语句时,即使遇到符合要求的case语句段,也会继续往下执行,直到语句结束。为了避免这种浪费时间和资源弟弟行为,一定要在每个case语句段后加上break语句,这里break语句的意思是跳出当前循环。
二。循环控制语句
1.while循环语句
while语句是php中最简单的循环语句,格式如下
while(表达式){
语句;
}
当表达式为真,将执行循环体内的PHP语句,执行结束后,再返回到表达式继续进行判断,直到表达式的值为假才跳处循环。
2.do...while循环语句
while语句还有另外一种形式,就是do...while。两者弟弟区别在于,do....while要比语句多循环一次。
当while表达式的值为假时,while循环直接跳出当前循环;
而do....while语句则是先执行一遍程序块,然后再对表达式进行判断。
3.for循环语句
for循环语句是php中最复杂的循环结构,格式如下:
for(初始表达式;条件表达式;迭代表达式){
语句;
}
其中,初始化表达式在第一次循环时无条件取一次值,表达式在每次循环开始前求值,如果值为真,则执行循环体里面的语句,否则跳出循环,继续往下执行,迭代表达式在每次循环后被执行。
注意:在for语句中无论采用循环变量递增或递减的方式,前提是一定确保循环能够结束,无限循环将导致程序的崩溃。
5.foreach语句
foreach在php4中只能用于数组,但在php5中又增加了对象的支持,格式如下:
foreach($array as $value)
语句;
或
foreach($array as %key =>$value)
语句;
foreach语句将遍历数组$array,每次循环时,将当前数组中的值赋给$value(或$key和$value),同时,数组,使指针向后移动直到遍历结束,当使用foreach语句时,数组指针将自动被重置所以不需要手动设置指针的位置。如:
结果:
名称 价格 数量 金额
智能机器人 14998 1 14998
数码相机 2588 1 2588
天翼3G手机 2666 2 5532
瑞士手表 66698 1 66698
三.跳转语句
1.break语句
break关键字可以终止当前的循环,包括while,do...while,for,foreach和switch在内的所有控制语句。
break语句不仅可以跳出当前循环,还可以指定跳出几重循环。格式:
break $num;
其中,$num指定跳出几层循环
2.continue语句
continue关键字的作用没有break强大,它只能终止本次循环而进入到下一次循环中,也可以指定跳出几重循环。