十天学会php之第二天


Posted in PHP onOctober 09, 2006

  学习目的:掌握php的流程控制

  1、if..else 循环有三种结构

  第一种是只有用到 if 条件,当作单纯的判断。解释成 "若发生了某事则怎样处理"。语法如下:

  if (expr) { statement }

  其中的 expr 为判断的条件,通常都是用逻辑运算符号当判断的条件。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}。

  范例:本例省略大括号。

  <?php
  if ($state==1)echo "哈哈" ;
  ?>

  这里特别注意的是,判断是否相等是==而不是=,ASP程序员可能常犯这个错误,= 是赋值。

  范例:本例的执行部分有三行,不可省略大括号。

  <?php
  if ($state==1) {
  echo "哈哈 ;
  echo "<br>" ;
  }
  ?>

  第两种是除了 if 之外,加上了 else 的条件,可解释成 "若发生了某事则怎样处理,否则该如何解决"。语法如下

  if (expr) { statement1 } else { statement2 } 范例:上面的例子来修改成更完整的处理。其中的 else 由于只有一行执行的指令,因此不用加上大括号。
  <?php
  if ($state==1) {
  echo "哈哈" ;
  echo "<br>";
  }
  else{
  echo "呵呵";
  echo "<br>";
  }
  ?>

  第三种就是递归的 if..else 循环,通常用在多种决策判断时。它将数个 if..else 拿来合并运用处理。

  直接看下面的例子

  <?php
  if ( $a > $b ) {
  echo "a 比 b 大" ;
  } elseif ( $a == $b ) {
  echo "a 等于 b" ;
  } else {
  echo "a 比 b 小" ;
  }
  ?>

  上例只用二层的 if..else 循环,用来比较 a 和 b 两个变量。实际要使用这种递归 if..else 循环时,请小心使用,因为太多层的循环容易使设计的逻辑出问题,或者少打了大括号等,都会造成程序出现莫名其妙的问题。

  2、 for 循环就单纯只有一种,没有变化,它的语法如下

  for (expr1; expr2; expr3) { statement }

  其中的 expr1 为条件的初始值。expr2 为判断的条件,通常都是用逻辑运算符号 (logical operators) 当判断的条件。expr3 为执行 statement 后要执行的部份,用来改变条件,供下次的循环判断,如加一..等等。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}。

  下例是用 for 循环写的的例子。

  <?php
  for ( $i = 1 ; $i <= 10 ; $i ++) {
  echo "这是第".$i."次循环<br>" ;
  }
  ?>

  3、 switch 循环,通常处理复合式的条件判断,每个子条件,都是 case 指令部分。在实作上若使用许多类似的 if 指令,可以将它综合成 switch 循环。

  语法如下

  switch (expr) { case expr1: statement1; break; case expr2: statement2; break; default: statementN; break; }

  其中的 expr 条件,通常为变量名称。而 case 后的 exprN,通常表示变量值。冒号后则为符合该条件要执行的部分。注意要用 break 跳离循环。

  <?php
  switch ( date ( "D" )) {
  case "Mon" :
  echo "今天星期一" ;
  break;
  case "Tue" :
  echo "今天星期二" ;
  break;
  case "Wed" :
  echo "今天星期三" ;
  break;
  case "Thu" :
  echo "今天星期四" ;
  break;
  case "Fri" :
  echo "今天星期五" ;
  break;
  default:
  echo "今天放假" ;
  break;
  }
  ?>

  这里需要注意的是break;别遗漏了,default,省略是可以的。

  很明显的,上述的例子用 if 循环就很麻烦了。当然在设计时,要将出现机率最大的条件放在最前面,最少出现的条件放在最后面,可以增加程序的执行效率。上例由于每天出现的机率相同,所以不用注意条件的顺序。

  今天就说到这里,明天开始说数据库的使用。

 

PHP 相关文章推荐
php is_file()和is_dir()用于遍历目录时用法注意事项
Mar 02 PHP
PHP is_dir() 判断给定文件名是否是一个目录
May 10 PHP
探讨PHP调用时间格式的参数详解
Jun 06 PHP
php遍历文件夹和文件列表示例分享
Mar 11 PHP
php 伪造ip以及url来路信息方法汇总
Nov 25 PHP
PHP获取数组最大值下标的方法
May 12 PHP
php通过curl添加cookie伪造登陆抓取数据的方法
Apr 02 PHP
浅谈Yii乐观锁的使用及原理
Jul 25 PHP
PHP实现找出链表中环的入口节点
Jan 16 PHP
laravel框架中控制器的创建和使用方法分析
Nov 23 PHP
yii2.0框架场景的简单使用示例
Jan 25 PHP
php使用redis的有序集合zset实现延迟队列应用示例
Feb 20 PHP
十天学会php之第一天
Oct 09 #PHP
十天学会php之第六天
Oct 09 #PHP
用PHP编写PDF文档生成器
Oct 09 #PHP
PHP设计聊天室步步通
Oct 09 #PHP
编写PHP的安全策略
Oct 09 #PHP
MVC模式的PHP实现
Oct 09 #PHP
使用PHP和XSL stylesheets转换XML文档
Oct 09 #PHP
You might like
PHP中使用数组实现堆栈数据结构的代码
2012/02/05 PHP
PHP将字符分解为多个字符串的方法
2014/11/22 PHP
php输出金字塔的2种实现方法
2014/12/16 PHP
php提交表单时保留多个空格及换行的文本样式的方法
2017/06/20 PHP
jquery trim() 功能源代码
2011/02/14 Javascript
javascript函数定义的几种区别小结
2014/01/06 Javascript
深入理解JSON数据源格式
2014/01/10 Javascript
jquery.post用法之type设置问题
2014/02/24 Javascript
js实现网页标题栏闪烁提示效果实例分析
2014/11/20 Javascript
js实现进度条的方法
2015/02/13 Javascript
jQuery实现右键菜单、遮罩等效果代码
2016/09/27 Javascript
Node.js连接postgreSQL并进行数据操作
2016/12/18 Javascript
jQuery实现优雅的弹窗效果(6)
2017/02/08 Javascript
javascript闭包功能与用法实例分析
2017/04/06 Javascript
详解Vue 中 extend 、component 、mixins 、extends 的区别
2017/12/20 Javascript
微信小程序里引入SVG矢量图标的方法
2019/09/20 Javascript
nodejs使用Sequelize框架操作数据库的实现
2020/10/21 NodeJs
[01:11:21]DOTA2-DPC中国联赛 正赛 Phoenix vs CDEC BO3 第三场 3月7日
2021/03/11 DOTA
python Django模板的使用方法(图文)
2013/11/04 Python
对python中的for循环和range内置函数详解
2018/04/17 Python
python虚拟环境的安装和配置(virtualenv,virtualenvwrapper)
2019/08/09 Python
Python SELENIUM上传文件或图片实现过程
2019/10/28 Python
python框架flask入门之环境搭建及开启调试
2020/06/07 Python
英国在线电子和小工具商店:TecoBuy
2018/10/06 全球购物
英国露营设备和户外服装购物网站:Simply Hike
2019/05/05 全球购物
中专自荐信
2013/10/13 职场文书
办公室驾驶员岗位职责
2013/11/15 职场文书
护士毕业生自我鉴定
2014/02/08 职场文书
篮球比赛策划方案
2014/06/05 职场文书
师范大学生求职信
2014/06/13 职场文书
2015年外贸业务员工作总结范文
2015/05/23 职场文书
请客吃饭开场白
2015/06/01 职场文书
致青春观后感
2015/06/09 职场文书
环保建议书作文500字
2015/09/14 职场文书
mybatis中注解与xml配置的对应关系和对比分析
2021/08/04 Java/Android
python使用opencv对图像添加噪声(高斯/椒盐/泊松/斑点)
2022/04/06 Python