php三大流程控制顺序控制_分支(选择)控制_循环控制

作者: 鲁智深 分类: PHP 发布时间: 2014-12-20 14:21

表达式是php最重要的基石。在php中,几乎所写的任何东西都是表达式,最基本的表达式是变量和常量。

顺序控制

1
2
3
4
5
6
7
$a=7;
    echo "$a=".$a;
    echo "hello";
$a++;
    echo"笑脸";
$a++;
    echo"a="+a;

所谓顺序控制流程,就是不加控制的流程,默认情况下,会按照顺序执行你编写的代码。

分支控制

一个简单的定义:有选择的来执行我们的代码。

单分支

基本语法:

1
2
3
if(条件表达式){
 语句;
}

案例:编写一个程序,可以输出人的年龄,如果该同志的年龄大于18岁,则输出“你的年龄大于18”,要对自己的行为负责。

1
2
3
4
$age=7;
if($age>18){
  echo '你的年龄大于18';
}

双分支

基本语法结构:

1
2
3
4
5
if(条件表达式){
    //n多语句;
}else{
    //n多语句;
}

案例:编写一个程序,可以输出人的年龄,如果该同志的年龄大于18岁,则输出“你的年龄大于18”,要对自己的行为负责。否则输出“你的年龄不大,这次放过你了。”

1
2
3
4
5
6
7
$age=7;
if($age>18){
   echo'你的年龄大于18' ;
}else{
   echo '你的年龄不大,这次放过你了';
}
   echo '程序结束';

程序流程分析图

程序流程图

程序流程图

多分支

基本语法结构

1
2
3
4
5
6
7
if(条件表达式){
     //n多语句
}elseif(条件表达式){
     //n多语句
}elseif(条件表达式){
     //n多语句
}else{语句};

注意:

1、elseif可以有一个也可以有多个;

2、else 可以没有

案例:编写一个程序,可以输出人的年龄,如果该同志的年龄大于18岁,则输出“你的年龄大于18”,要对自己的行为负责,送入监狱。如果该同事的年龄大于10岁并且小于等于18,则输出”你的年龄也不小了,”把你送少管所。其它情况,则输出”小孩子,下次注意。”

1
2
3
4
5
6
7
8
$age=19;
if($age>18){
   echo '你的年龄大于18,送入监狱';
}elseif($age>10 && $age<=18){
   echo '你的年龄也不小了,"把你送少管所';
}else{
   echo'下次注意';
}

程序流程分析图

流程控制图

流程控制图

switch分支语句

基本语法

1
2
3
4
5
6
7
8
9
10
11
switch(表达式){
   case常量1:
       //n多语句;
       break;
   case常量2:
       //n多语句;
       break;
   default:
       //n多语句;
       break;
}

注意:

1、case语句有一到多;

2、defaul含义:上述条件都不满足执行;语句可以没有(根据自己代码的业务逻辑);

3、break;语句通常在case语句后要带上,表示推出switch语句;

4、常量的类型(int,float,字符串,布尔型)

快速入门案例

可以接受一个字符,比如a,b,c,d,e,f,g
a表示星期一,表示星期二…根据用户的输入显示相依的信息,要求使用switch语句完成。

1
2
3
4
5
6
7
8
9
10
11
12
$mychar="a";
switch($mychar){
   case "a":
      echo '今天星期一';
       break;
   case "b":
      echo '今天星期二';
       break;
   default:
      echo '没有匹配';
       break;
}

注意:

1、如果匹配到一个case,那么会一直执行,直到遇到break语句;

2、switch语句首先按照case顺序进行匹配,如果一个都没有匹配到,则执行default语句的内容,直到遇到bresk,则退出switch;

if语句和switch语句的区别及应用场景

从我们学习if和switch分支看,if对某个范围的判断,而switch是对一个点的判断,所以我们可以这样去选择他们:应用场景:当我们的分支是几个点的时候(比如判断坦克的方向),就应当使用switch,如果你的分支是几个区域(范围)的判断,则考虑使用if。

循环控制(循环结构)

php循环控制流程for_while_do while

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注