PHP流程控制学习笔记
在php中流程控制包括了if,switch常用的两种流程控制语句了,下面我就来简单的介绍一下它们的应用例子,希望对各位会有所帮助.
一:顺序结构
二:分支结构(条件结构,选择结构)
1.单路分支:
- //条件:bool,true或false,> < == != & || ! isset()
- if(条件)
- //执行下面一条语句
- if(条件)
- {
- //代码段:
- //代码段:
例子代码:
- $a=10;
- $b=5;
- if($a > $b)
- echo “$a是大于$b的”;
2.双路分支,使用else语句:
- if(条件)
- //执行一条语句
- else
- //执行一条语句
- if(条件){
- //一条或多条代码
- }else{
- //一条或多条代码
- }
例子代码:
- $a=10;
- $b=20;
- if($a > $b){
- echo “$a大于$b<br>”;
- }else{
- echo “$a小于$b<br>”;
- }
3.多路分支,可以使用 if else if 和swich case:
- //这是一种互斥的关系
- if(条件){
- }elseif(条件){
- }elseif(条件){
- }elseif(条件){
- }else{
- }
- switch(变量){
- case 值:
- 代码:
- break;
- case 值1:
- 代码;
- break;
- default;
- }
例子代码:
- $hour=date(“H”);
- if($hour > 6 && $hour < 9){
- echo “早上好”;
- }elseif($hour > 9 && $hour < 12){
- echo “上午好”;
- }elseif($hour > 12 && $hour < 14){
- echo “中午好”;
- }elseif($hour > 14 && $hour < 17){
- echo “下午好”;
- }elseif($hour > 17 && $hour < 19){
- echo “傍晚好”;
- }elseif($hour > 19 && $hour < 22){
- echo “晚上好”;
- }elseif($hour > 22 && $hour < 24){
- echo “深夜好”;
- }else{
- echo “凌晨好”;
- }
以上代码也可以写成 $hour=date(“H”); //因为有互斥关系,当执行到正确代码时,就不会执行下一段代码:
- if($hour < 6){
- echo “凌晨好”;
- }
- if($hour < 9){
- echo “早上好”;
- }elseif($hour < 12){
- echo “上午好”;
- }elseif($hour < 14){
- echo “中午好”;
- }elseif($hour < 17){
- echo “下午好”;
- }elseif($hour < 19){
- echo “傍晚好”;
- }elseif($hour < 22){
- echo “晚上好”;
- }elseif($hour < 24){
- echo “深夜好”;
- }else{
- echo “您好”;
- }
例子代码:
- $week=date(“D”);
- //switch(变量) 这里的变量只使用整型和字符串
- //default 如果变量没有匹配的值,则执行default中的区域
- //break 是退出switch语句,用来设置多个值匹配执行同一段代码
- switch($week){
- case “Mon”:
- echo “星期一”;
- break;
- case “Tue”:
- echo “星期二”;
- break;
- case “Wed”:
- echo “星期三”;
- break;
- case “Thu”:
- echo “星期四”;
- break;
- case “Fri”:
- echo “星期五”;
- break;
- default:
- echo “周末”;
- }
如果是判断一段范围我们使用elseif,如果是单个值我们使用switch.
4.嵌套分支:
- if(){
- if(){
- }else{
- if(){
- }else{
- }
- }
- }else{
- if(){
- }else{
- switch(){
- }
- }
- }
例子代码:
- $sex=$_GET["sex"];
- $age=$_GET["age"];
- if($sex=”man”){
- if($age >= 60){
- echo “这位男士已经退休,他退休”.($age-60).”年了”;
- }else{
- echo “这位男士还在工作,还有”.(60-$age).”年退休”;
- }
- }else{
- if($age >= 55){
- echo “这位女士已经退休了,她退休”.($age-55).”年了”;
- }else{
- echo “这位女士还在工作,还有”.(55-$age).”年退休”;
- }
- }
- //以上代码用了GET,所以访问的话是 ?sex=man&age=33