PHP流程控制学习笔记

在php中流程控制包括了if,switch常用的两种流程控制语句了,下面我就来简单的介绍一下它们的应用例子,希望对各位会有所帮助.

一:顺序结构

二:分支结构(条件结构,选择结构)

1.单路分支:

  1. //条件:bool,true或false,> < == != & || ! isset()
  2. if(条件)
  3. //执行下面一条语句
  4. if(条件)
  5. {
  6. //代码段:
  7. //代码段:

例子代码:

  1. $a=10;
  2. $b=5;
  3. if($a > $b)
  4. echo “$a是大于$b的”;

2.双路分支,使用else语句:

  1. if(条件)
  2. //执行一条语句
  3. else
  4. //执行一条语句
  5. if(条件){
  6. //一条或多条代码
  7. }else{
  8. //一条或多条代码
  9. }

例子代码:

  1. $a=10;
  2. $b=20;
  3. if($a > $b){
  4. echo “$a大于$b<br>”;
  5. }else{
  6. echo “$a小于$b<br>”;
  7. }

3.多路分支,可以使用 if else if 和swich case:

  1. //这是一种互斥的关系
  2. if(条件){
  3. }elseif(条件){
  4. }elseif(条件){
  5. }elseif(条件){
  6. }else{
  7. }
  8. switch(变量){
  9. case 值:
  10. 代码:
  11. break;
  12. case 值1:
  13. 代码;
  14. break;
  15. default;
  16. }

例子代码:

  1. $hour=date(“H”);
  2. if($hour > 6 && $hour < 9){
  3. echo “早上好”;
  4. }elseif($hour > 9 && $hour < 12){
  5. echo “上午好”;
  6. }elseif($hour > 12 && $hour < 14){
  7. echo “中午好”;
  8. }elseif($hour > 14 && $hour < 17){
  9. echo “下午好”;
  10. }elseif($hour > 17 && $hour < 19){
  11. echo “傍晚好”;
  12. }elseif($hour > 19 && $hour < 22){
  13. echo “晚上好”;
  14. }elseif($hour > 22 && $hour < 24){
  15. echo “深夜好”;
  16. }else{
  17. echo “凌晨好”;
  18. }

以上代码也可以写成 $hour=date(“H”); //因为有互斥关系,当执行到正确代码时,就不会执行下一段代码:

  1. if($hour < 6){
  2. echo “凌晨好”;
  3. }
  4. if($hour < 9){
  5. echo “早上好”;
  6. }elseif($hour < 12){
  7. echo “上午好”;
  8. }elseif($hour < 14){
  9. echo “中午好”;
  10. }elseif($hour < 17){
  11. echo “下午好”;
  12. }elseif($hour < 19){
  13. echo “傍晚好”;
  14. }elseif($hour < 22){
  15. echo “晚上好”;
  16. }elseif($hour < 24){
  17. echo “深夜好”;
  18. }else{
  19. echo “您好”;
  20. }

例子代码:

  1. $week=date(“D”);
  2. //switch(变量) 这里的变量只使用整型和字符串
  3. //default 如果变量没有匹配的值,则执行default中的区域
  4. //break 是退出switch语句,用来设置多个值匹配执行同一段代码
  5. switch($week){
  6. case “Mon”:
  7. echo “星期一”;
  8. break;
  9. case “Tue”:
  10. echo “星期二”;
  11. break;
  12. case “Wed”:
  13. echo “星期三”;
  14. break;
  15. case “Thu”:
  16. echo “星期四”;
  17. break;
  18. case “Fri”:
  19. echo “星期五”;
  20. break;
  21. default:
  22. echo “周末”;
  23. }

如果是判断一段范围我们使用elseif,如果是单个值我们使用switch.

4.嵌套分支:

  1. if(){
  2. if(){
  3. }else{
  4. if(){
  5. }else{
  6. }
  7. }
  8. }else{
  9. if(){
  10. }else{
  11. switch(){
  12. }
  13. }
  14. }

例子代码:

  1. $sex=$_GET["sex"];
  2. $age=$_GET["age"];
  3. if($sex=”man”){
  4. if($age >= 60){
  5. echo “这位男士已经退休,他退休”.($age-60).”年了”;
  6. }else{
  7. echo “这位男士还在工作,还有”.(60-$age).”年退休”;
  8. }
  9. }else{
  10. if($age >= 55){
  11. echo “这位女士已经退休了,她退休”.($age-55).”年了”;
  12. }else{
  13. echo “这位女士还在工作,还有”.(55-$age).”年退休”;
  14. }
  15. }
  16. //以上代码用了GET,所以访问的话是 ?sex=man&age=33