PHP流程控制详解
好久没有更新了,还是把最近的学习笔记记下来,又方便日后查阅。我们都知道,任何一种计算机语言的设计中,都需要支持满足结构化所需的3种基本结构:1.顺序结构2.分支结构3.循环机构。
1.顺序结构
在程序中,顺序结构是最基本的。程序会依照从上至下的顺序依次执行。
2.分支结构
分支结构大致分为①单分支结构(只是用if)②双向分支结构(if…else语句的使用)③多分支结构(switch语句或者if语句的嵌套使用)。
①单分支结构
if(逻辑表达式得到一个bool类型的值) //执行一条语句 if(逻辑表达式得到一个bool类型的值){ //可以执行多条语句 }
②双向分支结构
//表示如果if中的表达式为真,则执行 if(表达式(条件)){ echo '条件满足'; }else{ echo '条件不满足'; }
③多分支结构
多分支结构的大部分指的是switch 还有的是if else的嵌套使用。其中switch语句。其中switch括号中的是匹配条件,如果输入与case后面的值相同就会执行相应的代码。在这里需要注意的一点是,break必不可少,这是退出程序的方法,如果没有break程序将会执行到遇到break为止。
//switch语句 $type =1; switch($type) { case 1: echo "条件1<br>"; break; case 2: echo "条件2<br>"; break; case 3: case 4:echo '条件3或者4";break; default: echo "输入的不在范围内<br>"; break; }
if语句的嵌套就是在if语句的代码块中继续使用if语句,但是需要注意的是嵌套太多层可能会hold不住。
3.循环结构
在php中循环结构大致上有①while循环,②do while循环,③for循环,④goto语句。
①while循环
/*当括号中的条件满足时,就会执行循环体中的语句,直到条件不满足的时候跳出循环。在这里是先判断条件,后面有先执行一遍再判断条件的do while循环*/ $a=0; while($a<10){ echo $a.'</br>'; $a++; }
②do while循环 :先执行一遍do中的内容,再判断条件是否满足,如满足继续执行do中的内容,不满足就退出循环。
//这个例子是通过do while循环来实现1到100的累加计算。do while与while的区别在前面也讲到了,就是dowhile循环会先执行一遍循环体。值得注意的一点是,在do while的结尾必须添加分号;。 $i=1; $sum=0; do{ $sum+=$i; $i++; }while($i<=100); echo $sum;
③for循环:for循环的形式是for(表达式一;表达式二;表达式三)其中这几个表达式都可以省略,如果都省略了,也不加其他的限制就成了死循环。当然这些表达式也可以不写在括号中。但是这样就失去了意义。for循环的执行顺序是这样的。首先表达式一执行且只执行一次,相当于初始化变量的值。然后判断第二个表达式是否满足,满足则执行循环体,循环体执行完了然后执行++操作即第三个表达式。然后又去判断第二个表达式…如此循环直到条件不满足或者遇到了特殊的跳出循环语句break。
for( $i=0; $i < 100 ; $i++) { echo $i.'循环体'; }
④goto语句:goto操作符是PHP5.3+后新增功能,goto语句使用非常简单方便,想执行那块代码能够瞬间到达,但是大量的使用goto语句这会让读代码的人,甚至自己可能都读不懂自己的代码。
$i=0; xh: echo $i.'</br>'; if($i > 10) goto mm; $i++; goto xh; mm:{ echo '这是结束end'; }
这样php的流程控制大致上就是这样的。