PHP全栈基础知识(二)
流程控制演练
1、分支结构
- 单分支
$test = 30; //变量赋值
if($test<40): //条件判断
echo '这是一个小于40的数'; //满足条件执行语句
endif;
单分支结构相对比较简单,如果判断结果为真,则执行语句块内语句,如果需要执行的语句不只一条,需要使用{ }将要执行的语句包围。
- 双分支
$sex = '男'; //变量赋值
if ($sex != '男'): //条件判断
echo '您不是'.$sex.'性'; //条件为'真'时执行本行语句
else:
echo '您是'.$sex.'性'; //条件为'假'时执行本行语句
endif;
双分支结构在对条件进行判断后,可以根据结果进行流程选择,将满足结果的语句进行执行。
- 多分支
$total = 700; //变量赋值
if($total>=700): //条件判断
echo '您的总成绩是'.'分,您真优秀!'; //条件为'真'时执行本行语句
else if($total>=550):
echo '您的总成绩是'.'分,您还需努力!'; //上一个条件为'假'时,进行本行条件判断,为'真'时执行本行语句
else :
echo'您的总成绩是'.'分,您是不是该考虑要认真学习啦!'; //条件为'假'时执行本行语句
endif;
多分支结构应用于当条件选择超过两项,进行多流程控制时。
if、elseif条件为’真’时执行语句,为假时’else’执行语句。
- switch
$height = 1.8;
$weight = 60;
$bmi = $weight / ($height*$height); //条件赋值
switch(bmi):
case (bmi<19): //满足条件执行语句块内容
echo '体重偏低';
break; //跳出流程
case (bmi>19 && bmi<=25):
echo '健康体重';
break;
case (bmi>25 && bmi<=30):
echo '超重';
break;
case (bmi>30 && bmi<=39):
echo '严重超重';
break;
case (bmi>=40):
echo '极度超重';
break;
endswitch;
switch分支结构用于简化if分支语句,提高程序的可读性,将判断结果与case中的值进行比较,如果相符,就执行当前结果,如果不相符,继续执行下一个case,直至switch语句结束或遇到break语句停止。
个人总结:
-if多分支语句与switch语句的区别在于:if多分支语句当条件为真时,会直接跳出流程, 不会继续执行后续语句;switch语句如果不加入break语句进行中断,即使条件为真,流程也会继续往下执行,直至switch语句结束或遇到break语句停止。
2、循环结构
- while() 入口判断型
//通过while()循环求10以内的奇数
$a = 1; //声明一个整型变量
$odd='10以内的奇数是:'; //声明一个字符变量
while ($a<10): //判断变量$a是否在10以内
if($a%2!==0): //判断变量$a是否是奇数
$odd.=$a.'、'; //如果变量$a是奇数,添加到$odd变量后面,否则跳出语句
endif;
$a+=1; //变量$a数值自增1,进行下一轮循环
endwhile;
echo $odd; //循环结束,打印结果
while语句是循环结构中最简单的语句,当条件不满足时,会循环执行语句块中内容,直至条件满足跳出循环。
- do while() 出口判断型
//用do while()方式求10以内的偶数
$a=1; //声明一个整型变量
$even='10以内的偶数是:'; //声明一个字符变量
do{
if($a%2==0){ //判断变量$a是否是偶数
$even.=$a.' '; //如果变量$a是偶数,添加到$even变量后面,否则跳出语句
}
$a++; //变量$a数值自增1,进入while语句判断条件是否成立
}while ($a<=10); //满足条件,进行下一轮循环,否则退出循环,执行下一个语句
echo $even;
for()计数型
//用for()方式求10以内的偶数和
for($i=0;$i<=10;$i+=2): //设定$i初始值为0,进行条件判断,并累加数值2
$sum+=$i; //设定变量$sum,使其进行偶数累加
endfor; //条件为假时,终止循环
echo '10以内偶数和为:'.$sum; //输出结果
for语句是循环结构中最复杂的语句,第一个表达式在循环开始前无条件求值(并执行)一次。第二个表达式在每次循环开始前求值。如果值为 TRUE,则继续循环,执行嵌套的循环语句。如果值为 FALSE,则终止循环。第三个表达式在每次循环之后被求值(并执行)。
个人总结:
-循环语句根据设定条件形成语句循环,无论用哪种方式,都必须保证循环能够结束。