陈力:传智播客古代 珍宝币 泡泡龙游戏开发第24讲:PHP程序的控制结构

本文详细介绍了PHP中的控制结构,包括顺序、分支(if、switch)、循环(for、while、do...while)等,并通过实例说明了它们的应用场景及区别。

陈力:传智播客古代 珍宝币 泡泡龙游戏开发第24讲:PHP程序的控制结构

任何PHP脚本都是由一系列语句构成的。赋值语句、函数、循环、条件语句或者甚至是空语句。语句通常以分号结束。还可以用花括号将一组语句封装成一个语句组。语句组本身可以当作是一行语句。本章介绍了各种语句类型。

1、顺序控制
    所谓顺序控制流程,就是不加控制的流程,PHP程序设计的默认情况,会按照语句顺序来执行编写的代码
$a=7;
echo “a=”.a;
echo “hello!”;
$a++;
echo “a=”.a;
echo “O(∩_∩)O”;
$a++;
echo “a=”+a; 

2、分支控制
    一个简单的定义: 有选择的来执行我们的代码。
分为 1. 单分支 2. 双分支 3 多分支
(1)单分支
    单分支的基本语法结构
if(条件表达式){
 语句;
 //...
    //....
}
这里的条件表达式不管多复杂,最总运算的结果就是 true 或者 false;
例子:编写一个程序,可以输入人的年龄,如果该同志的年龄大于18岁,则输出“你年龄大于18,要对自己的行为负责!”
$age=7;
 if($age>18){
  echo '你的年龄大于18';
 }
(2)双分支
   基本语法结构:
if(条件表达式){
   //n多语句;
}else{
 //n多语句;
}
例子:编写一个程序,可以输入人的年龄,如果该同志的年龄大于18岁,则输出 “你年龄大于18!”。否则,输出“你的年龄不大!”
PHP程序设计代码:
$age=4;
 if($age>18){
  echo '你的年龄大于18';
 }else{
  echo '你的年龄小于18';
 }
 echo '<br/>程序结束!';

(3)多重分支
    基本语法结构是
if(条件表达式){
 //n多语句
}else if (条件表达式){
 //n 多语句
}else if(条件表示式){
 //.
}//这里可能还有更多的else if
else{
}
对上面的结构请注意:
(1) else if 可以有一个,也可以有多个
(2) else 可以没有。
案例:编写一个程序,可以输入人的年龄,如果该同志的年龄大于18岁,则输出 “你年龄大于18”。如果该同志的年龄大于10岁并且小于等于18,则输出 “你的年龄也不小了.”。其它情况,则输出“小孩子注意”。
PHP程序设计代码如下:
$age=34;【1】
if($age>18【2】){
  echo '你年龄大于18';【3】
 }else if($age>10 【4】 && $age<=18【5】){
  echo '你的年龄也不小了';【6】
 }else{
  echo '小孩子注意';【7】
 }
echo "over";【8】
流程分析图:
软件设计,贵阳网站建设,程序设计

(4)switch分支语句
  switch基本语法结构
switch(表达式){
case 常量1:
//n多语句;
break;
case 常量2:
//n多语句
break;
defual:
   //n多语句;
 break;
}
注意:
case 语句有一到多个。defaul 语句可以没有(根据自己代码的业务逻辑)。通常在case 语句后,要带break,,表示退出switch语句。常量的类型 (int, float, 字符串,布尔型)。
案例:请编写一个程序,该程序可以接收一个字符,比如: a,b,c,d,e,f,g。a表示星期一,b表示星期二 …  根据用户的输入显示相依的信息.要求使用switch 语句完成。
$myChar="b";
switch($myChar){
  case "a";
 echo '今天星期一,猴子穿新衣';
   break;
  case "b":
   echo '今天星期二,猴子当小二';
   break;
  case "c":
   echo '今天星期三,猴子爬雪山';
   break;
  default:
   echo '没有匹配的日期';
 }
 echo 'okokook';

一个案例:
$i=11;
 switch ($i){
 case 10:
 echo '10';
 case 1.3:
 echo '11';
 break;
 default:
 echo 'hello';
 //break;
case 11:
 echo '12';
 break;
 }

该案例得出一个结论:
//最终的结论是: 首先按照case顺序进行配置,如果一个都没有匹配到,则执行 //default语句的内容,知道遇到break,则退出switch。
说一下if语句和switch的区别:从我们学习if和switch分支看,if对某个范围的判断,而switch是对一个点的判断, 所以我们可以这样去选择。应用场景: 当我们的分支就是几个点的时候(比如判断坦克的方向),就应当使用swtich,如果你的分支是几个区域(范围)的判断,则考虑使用if。

5、循环控制流程
(1)for循环
for循环控制基本语法结构:
for(循环初值; 循环的条件; 步长)
{//语句块;}
为什么需要循环控制?请输出1000000句“网站建设”。这问题应该怎样写这段代码,循环的执行程序设计代码:
for($i=0;$i<2;$i++){echo '<br/>贵阳网站建设'; }echo "执行完成";

(2)while循环
while循环基本语法结构是:
while(循环条件){
//循环体语句块
}
案例:如何通过while来打印10句“网站建设”。
程序设计代码如下:
//*****while循环*****
$i=0;//$i循环控制变量
while($i<10){
 echo '<br/>网站建设'.$i;
 //这里我们对循环控制变量,$i自增。
 $i++;
}

(3)do..while循环控制
基本语法结构
do{
 //循环体
}while(循环条件);
比如要实现循环的显示10句”网站建设”;
程序设计代码如下:
$i=0;//循环控制变量
do{
  echo '<br/>dowhile网站建设'.$i;
  //对循环控制变量修改
  $i++;//这里有程序员自己控制步长.
 }while($i<10);
do..while循环执行次数,最低就是一次。
案例:请使用循环控制语句,输出一个空心的菱形,菱形的层数可以灵活的变化。
//打印出金字塔的一半
//外层的for循环控制层数
 for($i=1;$i<=3;$i++){
  //内层控制每层*的个数
  for($j=1;$j<=$i;$j++){
   echo '*';
  }
  echo '<br/>';
 }
//打印出整个金字塔
//如果打印3层 
// *        *      -> 1  2个空格  1个*     (1-1)*2+1=1
// **      ***     -> 2  1个空格  3个*     (2-1)*2+1=3 
// ***    *****    -> 3  0个空格  5个*     (3-1)*2+1=5
$n=20;
for($i=1;$i<=$n;$i++){
  //在打印*前,先打印空格
  for($k=1;$k<=$n-$i;$k++){
   echo "&nbsp;";
  }
 //内层控制每层*的个数
 for($j=1;$j<=($i-1)*2+1;$j++){
  echo '*';
 }
 echo '<br/>';
}
    输出结果如下:

软件设计,贵阳网站建设,程序设计

【推荐阅读】陈力:传智播客古代 珍宝币 泡泡龙游戏开发第24讲:PHP程序的控制结构

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值