什么是流程控制

浅析PHP流程控制

今天Qi号给小白们分享一下PHP基础(相互请教~~):

下面是Qi号搜集的资料及自己的总结希望有所帮助:

   什么是流程控制:在声明式的编程语言中,流程控制指令是指会改变程序运行顺序的指令,可能是运行不同位置的指令,或是在二段(或多段)程序中选择一个运行。

  命令式编程:命令“机器”如何去做事情(how),这样不管你想要的是什么(what),它都会按照你的命令实现。
  声明式编程:告诉“机器”你想要的是什么(what),让机器想出如何去做(how)。

  等我们下次再扒两种方式编程的裤子。

不论是PHP还是别的语法,程序总是由若干条语句组成。

从执行方式上看,语句的控制结构分为以下三种:

1、 顺序结构:从第一条语句到最后一条语句完全顺序执行;

2、 选择结构:根据用户输入或语句的中间结果去执行若干任务;

3、 循环结构:根据某条条件重复地执行某项任务若干次,或直到达成目标即可。

 

PHP中 有三种控制语句用以实现选择结构与循环结构:

1、 条件控制语句:if、else、elseif和switch;

2、 循环控制语句:foreach、while、do...while..和for;

3、 转移控制语句:break、continue和return。

 下面有几个小实例可以参考一下

条件控制语句:

 

If语句,用法:

 

 If(E)

 语句块1;

 else

  语句块2;

 

解析:如果E返回值为true,则执行语句块1;否则执行语句块2。

 

例子,代码:

 

<?php

 $a = 59;  //根据$a的值,判断是否要妹子。如果>=60则输出要代码

  if($a>=60){

 echo “要妹子”;

}else

  echo “要代码”;

?>

 

If···elseif···else语句,用法:

if(E)

  echo '要妹子';;

else if(X)

  echo '不要妹子';;

else

 echo '要代码';

 

解析:如果E为true,则执行要妹子。否则,如果B的值为true,则不要妹子;否则执行语要代码。当然:if语句也可以嵌套使用。

 

下面是个If···elseif···else的例子:

 

 <?php

  $a = 59;

  if($a>=60) //在大于等于60的情况里在进行分类

 {

  if($a==100)

  echo “要妹子”;

  elseif($a>=90)

  echo “睡妹子”;

 else

  echo “睡不起”;

 }

 else

  echo “睡大街吧”;

 ?>

 

Switch语句,语法如下:

 

switch(E)

{

 case val1:

  语句块1;

  Break;

 case val2:

  语句块2;

  Break;

 default:

  语句块3;

 }

 

当一个case语句中的值和switch表达式E的值匹配时,PHP开始执行语句,直到switch程序段结束或者遇到第一个break语句为止

(如果没有遇到break,则PHP将继续执行下一个case)。

break是结束整个循环体,continue是结束单词循环

 

下面是一个没有break的例子:

 

 <?php

  switch($leve1)

 {

  case 3:

   echo “高级”;

  case 2:

   echo “中级”;

  case 1:

    echo “初级”;

  default:

    echo “错误的等级值”;

 }

 ?>

 执行结果为:高级中级初级错误的等级值

由此你想到了什么??

 

 <?php

  $level = 3;

  switch($level)

 {

  case 3:

   echo “赋予管理员权限”;

  case 2:

 echo “赋予站务权限”;

  case 1:

  echo “赋予版主权限”;

  default:

   echo “赋予普通用户权限”;

 }

 ?>

 

与if相比switch达到了更高的效率:

 

 <?php

  $a = 59;

 switch($a)

  {

 case $a == 100;

  echo “满分”;

  break;

 case $a >= 90;

  echo “优秀”;

  break;

 case $a >= 60;

  echo “及格”;

  break;

 default:

  echo “不及格”;

 }

 ?>

 

那么循环语句是干嘛用的呢?当然是用于反复地执行某一个操作。

 

While 与do···while

 

While的语法:

 

While(E)

 语句块;

 

解析:只要while表达式中的E为TRUE,就执行statement。

do···while的语法:

 do

 {

  语句块;

 }

 while(E)

 

do···while与while的区别只是在循环结束时do···while进行检查,不管循环的条件满足与否,do···while都将执行一次。

 

例如:

 

 <?php

  $a = 5; //先判断$a是否大于5,如果大于5则执行。

  while($a>5)

 {

  echo “This is while.”;

  $a–;

 }

 do //先执行do之内的语句,然后进行判断。

 {

  echo “This is do…while.”;

  $a–;

 }

 while($a > 5)

 ?>

 

For语句,语法:

 For(A;B;C)

  Statement;

 

分析:第一个表达式在循环开始时先无条件的执行一次,一般A都为赋值语句;B在循环开始前运行,如果为TRUE,

则继续循环,执行循环的嵌套语句;C在循环之后执行,一般都是自加自减运算。

代码:

 <?php

  for($a = 5;$a > 5;$a–);

  echo “This is for”;

 ?>

 

Foreach语句,用于数组的遍历,以后将会学到。

 

转移控制语句

 

PHP中主要有三种转移控制语句:break、continue和return。

 

1、 break语句

 

break语句用于结束当前循环,break可以接受一个可选的数字参数来决定跳出几重循环。

 

例子:

 <?php

  $a = 5;

  $b = 10;

 while($a <100) //$a<100开始循环

 {

  echo “a = “.$a.”<BR>”; //输出$a,“.”时连接运算符,相当于java中的“+”

 while($b > 0) //$b>0,开始循环

 {

  echo “b = ” .$b.”<BR>”; //输出$b

  $b–;

  if($b == 3 ) //如果$b==3,则跳出while($b>0)

  break;

 }

  $a++;

  if($a == 30)

  break; //如果$a==30,就跳出while($a<100)

 }

 ?>

 

Continue语句

Continue用于跳出本次循环,与break不同的是,continue跳出后将继续执行下一次循环。

 

Return语句 Return语句用于结束一个函数或者一个脚本文件。如果在一个函数中调用return语句将立即结束这个函数的执行,并将它的值作为参数返回。

 

当然,在PHP中也可以将return当做一个函数来使用。如return(),并在括号内写上要返回的参数。这种用法并不常见。

给大家附上一张图细细斟酌。



好了,有什么Qi号没有提到的,希望各位猿友多多指教。

转载于:https://www.cnblogs.com/houdabao/p/6640722.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/417022.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

连接hadoop java.io.IOException:Could not locate executable null\bin\winutils.exe in the Hadoop binarie

java连接hadoop报错 java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries. 原因查找 找到报错位置hadoop包中的xxx/Shell.java public static final String getQualifiedBinPath(String executable) throws IOException {// co…

中南大学王斌计算机学院,中南大学 信息科学与工程学院,长沙 410083

摘要&#xff1a;An optimization method of operation parameter based on comprehensive status evaluation model was proposed on the background of optimization control problem for lead-zinc sintering process. Based on the sintering process mechanism analysis, …

HBase shell命令行

启动Shell $ hbase shell 列出所有的表 hbase > list 创建名为mytable的表&#xff0c;含有一个列族hb hbase > create mytable , hb 在‘mytable’表的first行中的‘hb:data’列对应的数据单元中插入字节数组‘hello HBase’ hbase > put mytable , firs…

Win10系列:JavaScript页面导航

页面导航是在开发应用的过程中使用频率较高的技术&#xff0c;其中比较常用的导航方式有多页导航和页内导航&#xff0c;采用多页导航方式的应用程序包含一系列的页面&#xff0c;在一个页面中加入另一个页面的链接地址后&#xff0c;单击链接将跳转到指定页面&#xff0c;从而…

java maven调用hbase

pom.xml <dependency><groupId>org.apache.hbase</groupId><artifactId>hbase-it</artifactId><version>1.2.0</version> </dependency> 源码 import java.io.IOException; import java.util.ArrayList; import java.util.…

前端学习(2347):创建新页面和配置

pages.json {"pages": [ //pages数组中第一项表示应用启动页&#xff0c;参考&#xff1a;https://uniapp.dcloud.io/collocation/pages{"path" : "pages/message/message","style" : {"navigationBarTitleText": "信…

计算机与现代教育技术论文开题报告,计算机科学技术大学硕士与本科毕业论文开题报告...

这是一篇计算机科学技术方面有关毕业论文题目范文,与二维动画设计与制作相关毕业论文。是写论文专业与计算机科学技术及计算机软件及发表一篇方面相关的免费优秀学术论文范文资料&#xff0c;可作为计算机科学技术方面的大学硕士与本科毕业论文开题报告范文和职称论文论文写作参…

3.3、自定义错误页面

如果你在浏览器的地址栏中输入了不可用的路由&#xff0c;那么会显示一个状态码为 404 的错误页面。现在这个错误页面太简陋、平庸&#xff0c;而且样式和使用了 Bootstrap 的页面不一致。 像常规路由一样&#xff0c;Flask 允许程序使用基于模板的自定义错误页面。最常见的错误…

hive shell/sql 命令行

命令hive进入hive命令行 //列表数据库 show databases; //创建数据库 create database myhive; //创建数据库时检查存在与否 create database if not exists t1; //创建数据库时带注释 create database if not exists t2 comment learning hive; //创建带属性的数据库…

前端学习(2348):tabber

{"pages": [ //pages数组中第一项表示应用启动页&#xff0c;参考&#xff1a;https://uniapp.dcloud.io/collocation/pages{"path" : "pages/message/message","style" : {"navigationBarTitleText": "信息页",&…

辽宁交通职业技术学校计算机好不好,辽宁省交通高等专科学校信息工程系

信息工程系是学校“十一五”和“十二五”期间重点建设的校内五个重点专业群之一,也是首批国家高职示范校项目重点建设的专业群之一。现开设计算机网络技术、软件技术、计算机通信技术、图形图像制作、广告设计与制作、影视动画共6个专业,下设信息技术研究所和计算机基础、数学2…

[No0000D7]img生成器.bat合并所有图片到html网页中

ECHO OFF IF EXIST %~nx0.html DEL /F /Q %~nx0.html ECHO ^<html^>^<head^>^<title^>%~nx0^</title^>^</head^>^<body style"background:black;" οnlοad"window.setInterval(function(){window.scrollBy(0,800);},800);&qu…

前端学习(2349):tabber的其他属性

pages.json {"pages": [ //pages数组中第一项表示应用启动页&#xff0c;参考&#xff1a;https://uniapp.dcloud.io/collocation/pages{"path" : "pages/message/message","style" : {"navigationBarTitleText": "信…

计算机组成原理中ID是什么,计算机组成原理.doc

计算机组成原理课程作业_A 用户名&#xff1a;niekai最终成绩&#xff1a;80.0 HYPERLINK "//scores/?ag_id200580&assessmentid23539e75-90b3-487a-be10-06db93333cdd&stu_access_grading1&grading_curpage1&layoutwelcome_blank&role2&schoolG…

thinkphp无法登陆,session跨页后值为空

我已经出现过两次这种问题了&#xff0c;出现了两次就说明第一次没有解决彻底&#xff0c;所以表示thinkphp这个跨页后session为空而无法登陆的问题牵扯很多方面的问题了。经过这两次的研究&#xff0c;我觉得基本上能真正解决它了。 第一次出现的时候&#xff0c;我以为是目录…

前端学习(2350):condition启动模式配置

pages.json {"pages": [ //pages数组中第一项表示应用启动页&#xff0c;参考&#xff1a;https://uniapp.dcloud.io/collocation/pages{"path" : "pages/message/message","style" : {"navigationBarTitleText": "信…

PostgreSQL11 data数据库目录迁移

默认的数据库路径是/var/lib/pgsql/11/data 将现有的数据库文件全部拷贝到新的数据库路径下&#xff0c;然后重启 新建一个路径作为新的数据库数据路径&#xff0c;假如是/gdata/pgdata/data mkdir -p /gdata/pgdata/data chown -R postgres:postgres /gdata/pgdata/data c…

计算机硬件基础大纲,计算机硬件基础教学大纲..docx

计算机硬件技术基础 (III 教学大纲一、课程名称 :计算机硬件技术基础 (III二、课程代码 三、课程的基本要求1.微型计算机基础掌握微型计算机的组成以及各组成部分的主要功能特性 ;掌握微型计算机的总线结构以及简单的工作过程 ;了解现代先进计算机技术 ,了解衡量微型计算机性能…