PHP流程控制
流程控制就是人类社会的做事和思考和处理问题的方式和方法,例如,一个人要去一个地方可能选择以下几种方式:
1,司机开车
2,民航
3,自己家的专机
4,火车动车
5,骑马
6,游轮
1.1.4.1if条件结构流程
王同学是生活极度充满娱乐化和享受生活的人。他抵达北京或者大连的时候做的事,他抵达后做的事情,如下:
半夜到达,先去夜店参加假面舞会
早上抵达,爱在酒店泡个澡
中午到达,会吃上一份神户牛肉
晚上到达,总爱去找朋友去述说一下心中的寂寞
我们来了解一下他的语法规则【知识点要求:默写】
<?php if(判断语句1){ 执行语句体1 }elseif(判断语句2){ 执行语句体2 }else if(判断语句n){ 执行语句体n }else{ 最后的else语句可选 } //后续代码 ?>
<?php
$week = date("6");
//判断星期小于6,则输出:还没到周末,继续上班.....
if ($week < "6") {
echo "还没到周末,继续上班.....";
} else {
echo 'list.go';
}
?>
<?php $date = rand(0,23);//给$date定义一个 echo "到达时间为 $date 点 "; if ($date >= 6 && $date <10){ echo '去酒店泡澡'; }elseif($date >= 10 && $date <18){ echo '吃神户牛肉'; }elseif($date >= 18 && $date <22){ echo '找个朋友聊聊天'; }else{ echo'睡觉'; } ?>
1.1.4.2 if语句多种嵌套
王总在出行和项目中也是极度有计划性。他给自己的生活秘书和工作秘书分别指派了出差的行程:
生活上:
先查天气,下雨带雨具和毛巾。不下雨要带防晒霜
雨具、毛巾和防晒霜的情况要提前检查,如果没有要及时买
工作上:
要提前沟通去大连前的工作计划,准备好了要及时检查,检查合格,打印签单。
没有及时准备好的情况下,要列出主要的项目沟通议题。
类似于上面的这种情况判断,我们就需要用到if...elseif...else反复嵌套的结构了。
在if语句中可以嵌套一个或多个if语句,以实现对多个参数的判断,这就是if语句的多种嵌套。其结构形式如下:
<?php if(判断1){ if(判断2){ 代码段 1 }else{ 代码段2 } }else{ if(判断3){ 代码段3 }else{ 代码段4 } } ?>
<?php $kaihui=rand(0,1); if($kaihui){ $zhunbei=rand(0,1); if($zhunbei){ echo '查看会议报告'; }else{ echo '炒工作秘书鱿鱼'; } }else{ $shenghuomishu=rand(0,1); if($shenghuomishu){ $xiayu=rand(0,1); if($xiayu){ $yusan=rand(0,1); if($yusan){ echo '带上雨伞'; }else{ echo '购买雨伞然后带上'; } }else{ $fangshaishuang=rand(0,1); if($fangshaishuang){ echo '带上防晒霜'; }else{ echo '购买防晒霜然后带上'; } } }else{ echo'好好学习天天向上'; } } ?>
//书写技巧:先将多个if(){}else{}语句写出来,然后逐个嵌套!
2.1.4.2 switch语句的使用
王同学家里头特别有钱,所以他的行程方式和正常人的又有些不一样。
他的出行方式呢有6种,如下:
1,司机开车
2,民航
3,自己家的专机
4,火车动车
5,骑马
6,游轮
switch...case的语法结构如下:
<?php switch(变量){ //字符串,整型 case 具体值: 执行代码; break; case 具体值2: 执行代码2; break; case 具体值3: 执行代码3; break; default: } ?>
上面的break是可选的
上面的default也是可选的
不要在case 后面写成分号,后面是冒号:
不要在case后面写判断区间,如($foo > 20 或者 $foo == 30)
switch里面在变量最好是 整型,字符串,因为布尔判断更适合if...else..
<?php $tool=rand(1,8);//定义出行工具 switch($tool){ case 1: echo '飞机'; break; case 2: echo '大炮'; break; case 3: echo '潜水'; break; case 4: echo '骑马'; break; case 5: echo '民航'; break; case 6: echo '游泳'; break; default: echo '爬着去'; } ?>
3.1.4.2 do while循环语句的使用
王同学需要反复往返于北京和大连,就是典型的循环结构。假设王思总投资这个项目需要往返大连100次,每次往返都王同学都会计数一次。难道我们写一百遍同样的代码?显然对于智商极高的程序员来说不可能这样处理。
我们抽象了人类的这种思维。我们定义一种循环结构
<?php //定义需要往返的次数,老外喜欢从0开始计数,我们也从0开始计 $count = 0; //while后面接布尔值判断,为真执行,为假停止 //$count 小于100的时候执行,也就是$count为0至99的时候执行 //如果$count不小于100了,循环停止执行后续的代码 //循环开始处 while($count < 100){ echo '我是王思总,我是第' . $count .'次出差<br />'; //每次执行让$count+1,这样的话,就不会产生$count永远小于100的情况了 $count++; //循环结束 } echo '后续代码'; ?>
下面我们来看看do...while与while的区别
<?php $count=0;
//while(){}先判断,后执行。 while($count < 1){ echo "这是王总第 $count 次出差 <br />"; $count++; } echo '<br />';
//do{}while()先执行一次,然后判断。 do{ echo "这是王总第 $count 次出差 <br />"; }while($count < 0); echo '<br />'; for($cnt=2;$cnt<=3;$cnt++){ echo "分手后第 $cnt 年,我全都忘了你的样子<br />"; }?>
4.1.4.2 for循环语句的使用
同学反复往返与北京和大连,并且在本上记录往返次数。在PHP中还有另外一种实现方式能够实现同样的计数。
for 循环是 PHP 中的一种计数型循环,它的语法比较数活多变。这是一个必须要掌握的知识点。
for (表达示1; 表达示2; 表达示3){ 需要执行的代码段 } 表达式1 是初始化赋值,可以同时赋值多个代码。 表达示2 在每次循环开始前求值。如果值为 TRUE,则继续循环,执行嵌套的循环语句。如果值为 FALSE,则终止循环。 表达示3 在每次循环之后被求值。
我们来写个简单的例子,看看:
<?php for ($i = 1; $i <= 10; $i++) { echo '分手后第'.$i.'年,我全都忘了你的样子<br />'; } ?>
5.1.4.2 goto循环语句的使用
我们讲解到一个故事,王同学每周往返,但有一个特例:
项目失败后或者集团临时除知除外,他就可以不再这么每周往返了。
基本语法
语法参考:
<?php $count=0; while($count < 1){ echo "这是王总第 $count 次出差 <br />"; $count++; } echo '<br />'; goto end; do{ echo "这是王总第 $count 次出差 <br />"; }while($count < 0); echo '<br />'; for($cnt=2;$cnt<=3;$cnt++){ echo "分手后第 $cnt 年,我全都忘了你的样子<br />"; } end: echo '王总退休了,小明失恋了'; ?>
//goto end;和end:之间的编码会直接被略过。因为goto end;直接跳转到了ech: