十天学会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 相关文章推荐
PHP4实际应用经验篇(2)
Oct 09 PHP
PHP执行速率优化技巧小结
Mar 15 PHP
php 获取本机外网/公网IP的代码
May 09 PHP
php读取文件内容的几种方法详解
Jun 26 PHP
PHP文件操作方法汇总
Jul 01 PHP
php实现微信公众平台账号自定义菜单类
Oct 11 PHP
php使用pclzip类实现文件压缩的方法(附pclzip类下载地址)
Apr 30 PHP
PHPWind9.0手动屏蔽验证码解决后台关闭验证码但是依然显示的问题
Aug 12 PHP
php传值方式和ajax的验证功能
Mar 27 PHP
PHP 7.0新增加的特性介绍
Jun 08 PHP
PHP设计模式之状态模式定义与用法详解
Apr 02 PHP
yii2.0框架场景的简单使用示例
Jan 25 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新手谈谈我的学习心得
2007/02/25 PHP
Zend Studio 实用快捷键一览表(精心整理)
2013/08/10 PHP
php求正负数数组中连续元素最大值示例
2014/04/11 PHP
PHP使用memcache缓存技术提高响应速度的方法
2014/12/26 PHP
JavaScript 通过模式匹配实现重载
2010/08/12 Javascript
jquery中dom操作和事件的实例学习 仿yahoo邮箱登录框的提示效果
2011/11/30 Javascript
JavaScript自动设置IFrame高度的小例子
2013/06/08 Javascript
jQuery实现判断滚动条到底部
2015/06/23 Javascript
js中的内部属性与delete操作符介绍
2015/08/10 Javascript
js图片跟随鼠标移动代码
2015/11/26 Javascript
node.js require() 源码解读
2015/12/13 Javascript
原生js实现轮播图
2017/02/27 Javascript
vue项目打包部署到服务器的方法示例
2018/08/27 Javascript
JavaScript Array对象基本方法详解
2019/09/03 Javascript
python利用拉链法实现字典方法示例
2017/03/25 Python
VTK与Python实现机械臂三维模型可视化详解
2017/12/13 Python
dataframe设置两个条件取值的实例
2018/04/12 Python
python实现汉诺塔算法
2021/03/01 Python
Python UnboundLocalError和NameError错误根源案例解析
2018/10/31 Python
python执行精确的小数计算方法
2019/01/21 Python
python使用Plotly绘图工具绘制水平条形图
2020/03/25 Python
python实现超市商品销售管理系统
2019/10/25 Python
pytorch实现seq2seq时对loss进行mask的方式
2020/02/18 Python
如何配置关联Python 解释器 Anaconda的教程(图解)
2020/04/30 Python
解决margin 外边距合并问题
2019/07/03 HTML / CSS
男女时尚与复古风格在线购物:RoseGal(全球免费送货)
2017/07/19 全球购物
英国领先的野生鸟类食品供应商:GardenBird
2018/08/09 全球购物
sort命令的作用和用法
2013/08/25 面试题
网络工程与软件技术毕业生自荐信
2013/09/24 职场文书
大学生军训自我评价分享
2013/11/09 职场文书
大学生个人推荐信范文
2013/11/25 职场文书
2014政府领导班子对照检查材料思想汇报(3篇)
2014/09/26 职场文书
详解Go语言Slice作为函数参数的使用
2021/07/02 Golang
使用canvas对video视频某一刻截图功能
2021/09/25 HTML / CSS
Java实现学生管理系统(IO版)
2022/02/24 Java/Android
js面向对象编程OOP及函数式编程FP区别
2022/07/07 Javascript