PHP第十一课:PHP的流程控制
PHP的流程控制
程序总是由若干条语句组成。
从执行方式上看,语句的控制结构分为以下三种:
1. 顺序结构:从第一条语句到最后一条语句完全顺序执行;
2. 选择结构:根据用户输入或语句的中间结果去执行若干任务;
3. 循环结构:根据某条条件重复地执行某项任务若干次,或直到达成目标。
PHP中 有三种控制语句用以实现选择结构与循环结构:
1. 条件控制语句:if、else、elseif和switch;
2. 循环控制语句:foreach、while、do while和for;
3. 转移控制语句:break、continue和return。
条件控制语句主要有if、ii...else、elseif(有时也可以写成else if)、switch四种。
if语句:几乎所有语言都包括if语句。格式为:
if(条件满足) {执行语句}
if:条件只有一个
<meta charset="UTF-8"/> <?php $num = rand(1,20); if($num%2 == 0){ echo "\$num = $num"; echo "<br/>$num 是偶数"; } ?>
if(条件满足) {执行语句} else {执行语句}
if...else:条件有俩
<?php $a = 59; if($a>=60){ echo "及格"; }else{ echo "不及格"; } ?>
if(条件满足) {执行语句} elseif {执行语句} elseif {执行语句} ....... else {执行语句}
elseif:条件有多个
<?php $a = 59; if($a>=60){ if($a==100){ echo "满分"; }else if($a>=90){ echo "优秀"; } else if($a>=70){ echo "良好"; } else{ echo "及格"; } }else{ echo "不及格"; } ?>
<?php date_default_timezone_set("PRC"); $month = date("n"); $today = date("j"); if ($today>=1 && $today <= 10){ echo "今天是".$month."月".$today."日上旬"; }elseif ($today>=11 && $today<= 20) { echo "今天是".$month."月".$today."日中旬"; }else{ echo "今天是".$month."月".$today."日下旬"; } ?>
switch(条件) {
case 1:语句;break;
case 2:语句;break;
case 3:语句;break;
default:语句;break;
}
switch:条件多个 当条件多个时,elseif与switch语句作用相同。但为了避免语句繁杂冗长,使用switch语句。
<?php $level = 3; switch($level){ case 3: echo "赋予管理员权限"; break; case 2: echo "赋予新闻管理权限"; break; case 1: echo "赋予商品类目添加权限"; break; default: echo "赋予普通用户权限"; } ?>
$a = 59; switch($a){ case $a==100: echo "满分"; break; case $a>=90: echo "优秀"; break; case $a>=70: echo "良好"; break; case $a>=60: echo "及格"; break; default: echo "不及格"; }
2. 循环控制语句主要有while、for、do while三种。
for
<?php for($i=0;$i<5;$i++){ echo "数字是:$i <br/>"; } //循环 相同或相仿的事情,反复的发生(某个条件成立的时候,反复去做) //要求:输出100个水平分割线 for($i=1;$i<=100;$i++){ echo "数字是$i <hr/>"; } ?>
while
<?php $i=0; while($i<5){ echo "数字是:$i <br/>"; $i++; } ?>
<?php $num = 1; $str = "10 以内的偶数为:"; while ($num <= 10) { if ($num % 2 == 0) { $str.=$num." "; } $num++; } echo $str; ?>
do...while
do...while 是 while循环的另一种形式,比while循环多循环一次。
<?php $i=0; do{ echo $i."<br/>"; $i++; }while($i<5); ?>
while 和 do while的区别?
while 先判断再执行
do while 先执行再判断
$i=100; while($i<100){ echo "$i 我执行了这个语句<br/>"; $i++; } echo "<hr/>"; $x=100; do{ echo "$x 我执行了这个语句<br/>"; $x++; }while($x<100);
foreach循环:只能用于数组
foreach语句会遍历数组,每一次循环时会将当前数组的值赋给value,同时数组指针向后移动直到数组结束。使用该语句是指针会被自动重置,无需手动。
foreach仅能用于数组,每次循环中,当前单元的键名也会在每次循环中被赋给变量 $key。当前单元的值被赋给 $value 并且数组内部的指针向前移一步。
<?php $data = array(0=>'陈乐乐',1=>'张帅'); //获取数组中 具体某个位置上的内容 echo $data[1]; echo "<hr/>"; //获取数组中 所有的内容 foreach($data as $key=>$value){ echo $value." "; } ?>
3. 转移控制语句
break:终止循环
<?php //break跳出 (循环体) $i = 1; while($i<=10){ if($i==5){ break; } echo "<br/>当前的数是:".$i; $i++; } ?>
continue:终止此次循环,并继续下一循环,直到循环结束
<?php //continue 跳出(当次这个循环) $x = 5; while($x<=10){ if($x==5){//5跳过不显示 $x++; continue; } echo "<br/>this is num:".$x; $x++; } ?>
exit:结束程序执行,它可以出现在程序的任何地方!
<?php //exit结束程序执行 $num = 100; while($num>=1){ //当$num大于等于95(在100到95这个区域内) // 100 99 98 97 96 95 if($num>=95){ echo "<br/>当前这个数是:".$num; }else{ exit;//结束程序执行 } $num--; } ?>
包含文件
//include(文件对应的路径)
//include_once()
//require()
//require_once()
如果引入文件不存在。
inclue会产生一个警告,程序会继续运行。
require会产生一个致命错误,程序会停止运行。
include("qianchang.php"); //require("qiancang.php"); echo "哈哈";
还没有留言,还不快点抢沙发?