PHP流程控制语句

一、PHP流程控制语句
流程控制对于任何一门语言来说,都是至关重要的,
在编写程序时,我们经常会希望为不同的决定执行不同的动作,这时就可以使用流程控制语句来实现:
影响用户的输入为不同的决定或者输入执行不同的程序
(一)顺序结构
顺序结构是最基本的结构方式,各流程依次按顺序执行
顺序结构中,所有代码都将执行一次
PHP中,顺序结构的语句一般是一些赋值语句、输出语句等
(二)分支结构
选择结构就是对给定条件进行判断,条件为真是执行一个分支,条件为假时执行另一个分支.
根据条件执行结果改变程序执行顺序
1.单路分支
成立执行,不成立继续往下走
if(条件){
条件成立则执行;
}
if(条件){
执行代码段;
}

<?php $v1 =10; $v2=5; if($v1>$v2){ echo "v1大于v2的"; } if($v1>$v2){ $v2++; $v1 = $v2++; $v2++; echo $v1; } var_dump($v1<$v2); ?>

2.双路分支
if(条件){
条件成立则执行;
}else{
不成立执行;
}

<?php $a = 10; $b = 5; if($a>$b){ echo $a.'大于'.$b; }else{ echo $a.'小于'.$b; } ?>

3.多路分支
互斥结构,只要进入一个就不会进入其他的分支
if(条件){
条件成立则执行;
}elseif(条件){
条件成立则执行;
}else{
不成立执行;
}

<?php date_default_timezone_set('Asia/Shanghai'); $hour = date("H"); if($hour>=6 && $hour<9){ echo "早上好"; }else if($hour>=9 && $hour<12){ echo "上午好"; }else if($hour>=12 && $hour<14){ echo "中午好"; }else if($hour>=14 && $hour<17){ echo "下午好"; }else if($hour>=17 && $hour<19){ echo "傍晚好"; }else{ echo '夜里好'; } ?> <?php date_default_timezone_set('Asia/Shanghai'); $hour = date("H"); if($hour<6){ echo "凌晨好"; }else if($hour<9){ echo "早上好"; }else if($hour<12){ echo "上午好"; }else if($hour<14){ echo "中午好"; }else if($hour<17){ echo "下午好"; }else if($hour<19){ echo "傍晚好"; }else if($hour<22){ echo "晚上好"; }else{ echo '夜里好'; } ?>

switch(表达式或者变量) //适用于整数和字符串
{
case label1:
代码块;
break;
case label2:
代码块;
break;
case label3:
代码块;
break;
break;
default:
代码块
}

执行原理:
将表达式进行计算,与case中的值进行比较,如果与case中的值相等,则执行当前case后的代码块,如果不相等,进行下一个比较,否则就用默认的代码块default,break用于执行完代码块后跳出程序执行,避免进行下一个case中;

<?php date_default_timezone_set("Asia/Shanghai"); $week = date("D",time()); echo $week; switch ($week) { case 'Mon': echo "今天是周一"; break; case 'Tue': echo "今天是周二"; break; case 'Wed': echo "今天是周三"; break; case 'Thu': echo "今天是周四"; break; case 'Fri': echo "今天是周五"; break; default: echo "周末"; break; } ?>

如果判断一个范围使用if else ,如果是单个值匹配,使用switch case;
4.嵌套分支
if(){
If(){
}else{
If(){
}
}
}else{
If(){
}else{
switch(){
}
}

}

<?php $sex = $_GET['sex']; $age = $_GET['age']; if($sex=='nan'){ if($age>=60){ echo "这个男士已经退休了".($age-60)."年了"; }else{ echo "这个男士还在工作,还有".(60-$age)."年才退休
"; } }else{ if($age>=55){ echo "这个女士已经退休了".($age-55)."年了"; }else{ echo "这个女士还在工作,还有".(55-$age)."年才退休
"; } } ?>

二、PHP流程控制之循环结构
循环结构
计算机最擅长的事情是自动的重复的执行任务,如果某些任务需要以相同的方式多次执行,就可以用到循环语句来重复程序里的某些部分.php中最简单的就是while循环,
(一)while循环
只要指定条件为真,就执行循环语句 设定一个布尔型条件,只要条件为真就反复执行代码段

只要条件为真,就执行循环语句
while(条件){
条件为真执行的代码; //反复执行,直到条件为假
}
首先执行一次代码,然后再检查条件,为真就循环
即使条件在第一次就失败了,它也会至少执行一次语句
do {
为真执行的代码
}while(条件为真);

<?php $num=0; while($num<30){ $num++; echo "这是第".$num."次执行的结果"; } do{ $num++; echo "这个数字为:".$num; }while($num<5); ?> <?php echo ''; echo '

循环表格

'; $row = 1; while($row<=9){ echo ""; $col = 1; while($col<=9){ echo ''; $col++; } echo ""; $row++; } echo '
'.$col.'x'.$row.'='.($col*$row).'
'; ?>

(二)for循环
如果提前确定了脚本的循环次数,就可以使用for循环
for(初始化条件;条件表达式;增量){
循环的代码;
}

<?php for($i=0;$i<=8;$i++){ echo "
循环到了第".$i."层"; } ?> <?php for($i=1;$i<=100;$i++){ if($i%3==0 && $i%5==0){ echo "三五
"; }else if($i % 3 ==0){ echo "三
"; }else if($i % 5 ==0){ echo "五
"; }else{ echo $i."
"; } } ?>

foreach循环:只用于数组,循环数组的每个键值对
foreach($array as v a l u e ) 执 行 的 代 码 块 ; 每 一 次 循 环 都 会 将 当 前 循 环 的 值 赋 给 变 量 value){ 执行的代码块; } 每一次循环都会将当前循环的值赋给变量 value)value,并且数组指针会逐一移动,知道数组的最后一个元素
foreach在后边的数组章节会详细学习,暂作了解

特殊的流程控制语句
break //退出程序,退出本次循环
continue //跳过该次循环,进入下一次循环
return //结束函数 返回函数返回值

<?php for($i=1;$i<=100;$i++){ if($i==10){ continue; } echo $i.'#
'; } ?>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值