PHP学习(三)

流程控制

对PHP程序执行的过程进行控制

一、顺序执行

顺序执行就是简单的从上往下执行即可,对程序执行过程没有控制

<?php
echo '执行到第1步了';
echo '执行到第2步了';
echo '执行到第3步了';
echo '执行到第4步了';

二、分支执行

顺序执行虽然能解决计算,输出等问题,但是执行太过死板,无法完全满足我们实际的开发需要,所以我们需要引入分支执行。分支执行可以根据条件是否满足来选择执行某些代码

1.if语句

1).单向条件:
if(表达式)
语句块1;
表达式的值为true就执行语句,否则不执行
在这里插入图片描述
注:通过复合语句(代码块),if语句可以控制执行多条语句。代码块是用—对花括号括起来的多条语句。
例:

$pass=60;
$a=40;
if($a>=$pass){
echo '恭喜通过考试';
//.....其他语句
}

2).双向条件:
if(表达式1)
语句块1;
else
语句块2;
表达式1的值为true执行语句1,否则执行语句2
在这里插入图片描述
注:我们if语句的表达式所控制的代码,最好用花括号括起来,哪怕就是一条语句也用花括号括起来

$pass=60;
$a=40;
if($a>$pass){
echo '通过考试';
//其他语句
}else{
echo '没有通过考试';
//其他语句
}

3).多向条件
if(表达式1)
语句块1;
else if(表达式2)
语句块2;
······
else if(表达式n)
语句块n;
else
语句块;
在这里插入图片描述

$a=91;
$grade1=60;
$grade2=70;
$grade3=80;
$geade4=90;
if($a<$grade1){
echo '不及格';
//其他语句
}else if($a<$grade2){
echo '及格';
//其他语句
}else if($a<$grade3){
echo '良好';
//其他语句
}else if($a<$grade4){
echo '好';
//其他语句
}else{
echo '优秀';
//其他语句
}

2.switch语句

switch(表达式){
case值1://case相当于==
语句1;
break;
case值2:
语句2;
break;
·······
default:
语句n;
}
在这里插入图片描述
列:

<?php
$a=2;
switch ($a){
	case 1://case相当于==
		echo '今天星期一<br />';
		break;
	case 2:
		echo '今天星期二<br />';
		break;
	case 3:
		echo '今天星期三<br />';
		break;
	case 4:
		echo '今天星期四<br />';
		break;//跳出,打断的意思!
	case 5:
		echo '今天星期五<br />';
		break;
	case 6:
		echo '今天星期六<br />';
		break;
	case 7:
		echo '今天星期日<br />';
		break;
	default:
		echo '数字没匹配上,不知道今天是星期几!<br />';
}
echo '执行完毕!';

三、循环语句

计算机最擅长的功能之一就是按照规定的条件,重复执行某些操作,这是程序设计中最能发挥计算机特长的程序结构。

1.while语句

while(表达式){
语句块
}

当表达式的值为true,那么就执行下面的语句块,当语句块执行结束之后,继续返回上面来判断表达式的值是true还是false,如果还是true,那么就继续执行语句块,直到,这个表达式的值为false,那么这个while语句就执行结束了!

$i=0;
while($i<10){
	echo $i++.'<br />';
}
echo '执行结束了!';

2.do…while语句

do{
语句块
}while(表达式);

因为是先进入语句,在进行判断,所以do while语句至少会执行一次

<?php 
$i=10;
do{
	echo $i++.'<br />';
}while($i<10);
echo '......';
?>

3.for语句

for(表达式1;表达式2;表达式3){
语句块
}

表达式a:会放一些初始化话的语句,比如$i=0,可以放多个表达式,中间用,隔开
表达式b:会放一些用来判断true或者false的表达式,可以放多个表达式,中间用,隔开
表达c:会放一些对初始化的变量进行自增的语句,可以放多个表达式,中间用,隔开

<?php
//for循环
for($i=0;$i<10;$i++){
	echo "执行到第{$i}遍了<br />";//这里变量用花括号括起来
}
?>
<?php
//for循环-稍复杂,一般用的不是太多!
for($i=0,$j=0;$i<10;$i++,$j++){
	echo "{$j}执行到第{$i}遍了<br />";
}
?>

四、特殊的流程控制语句

1.break语句

作用:用于switch语句,for,while,do…while,foreach,用于中断这些语句, 后面可以接上一个数字来表示跳出几层循环,默认不加就是跳出当前循环语句

<?php
for ($i=0;$i<10;$i++){
	if($i==5){
		break;//中断当在所在循环语句!后面的数字表示跳出几层!
	}
	echo "执行到第{$i}遍!<br />";
}
<?php
for ($i=0;$i<10;$i++){
	echo "执行到第{$i}遍!<br />";
	for ($j=0;$j<10;$j++){
		if($j==5){
			break 2;//跳出2层循环语句!
		}
		echo "--执行到第{$j}遍了!<br />";
	}
}
echo '执行结束!';
?>

2.continue语句

作用:只能用在循环语句,跳出本次循环,并不是结束整个循环语句

for ($i=0;$i<10;$i++){
	if($i==5){
		continue;//跳出本次循环!并不是中断,结束整个循环语句!
	}
	echo "执行到第{$i}遍!<br />";
}
echo '执行结束!';
?>

3.exit()语句

作用:结束当前整个程序的执行,后面的语句不再执行

<?php
echo '执行到第1步了<br />';
echo '执行到第2步了<br />';
exit();//后面的程序不再执行
echo '执行到第3步了<br />';
echo '执行到第4步了<br />';
?>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值