十天学会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访问查询mysql数据的三种方法
Oct 09 PHP
zend framework配置操作数据库实例分析
Dec 06 PHP
PHP自定义大小验证码的方法详解
Jun 07 PHP
深入分析php中接口与抽象类的区别
Jun 08 PHP
ThinkPHP水印功能实现修复PNG透明水印并增加JPEG图片质量可调整
Nov 05 PHP
基于jQueryUI和Corethink实现百度的搜索提示功能
Nov 09 PHP
Zend Framework基于Command命令行建立ZF项目的方法
Feb 18 PHP
PHP的反射机制实例详解
Mar 29 PHP
PHP基于正则批量替换Img中src内容实现获取缩略图的功能示例
Jun 07 PHP
ThinkPHP3.2.3框架实现执行原生SQL语句的方法示例
Apr 03 PHP
php curl操作API接口类完整示例
May 21 PHP
Laravel统一错误处理为JSON的方法介绍
Oct 18 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
很实用的一个完整email发送程序
2006/10/09 PHP
php 上一篇,下一篇文章实现代码与原理说明
2010/05/09 PHP
用C/C++扩展你的PHP 为你的php增加功能
2012/09/06 PHP
关于更改Zend Studio/Eclipse代码风格主题的介绍
2013/06/23 PHP
PHP删除数组中空值的方法介绍
2014/04/14 PHP
php中convert_uuencode()与convert_uuencode函数用法实例
2014/11/22 PHP
浅析PHP echo 和 print 语句
2020/06/30 PHP
Javascript四舍五入Math.round()与Math.pow()使用介绍
2013/12/27 Javascript
javascript中处理时间戳为日期格式的方法
2014/01/02 Javascript
DOM基础教程之使用DOM
2015/01/19 Javascript
jQuery简单实现验证邮箱格式
2015/07/15 Javascript
JavaScript jQuery 中定义数组与操作及jquery数组操作
2015/12/18 Javascript
svg动画之动态描边效果
2017/02/22 Javascript
浅谈angularjs中响应回车事件
2017/04/24 Javascript
vue引用js文件的多种方式(推荐)
2018/05/17 Javascript
nodejs 生成和导出 word的实例代码
2018/07/31 NodeJs
深入koa-bodyparser原理解析
2019/01/16 Javascript
vue slot与传参实例代码讲解
2019/04/28 Javascript
微信小程序合法域名配置方法
2019/05/06 Javascript
jquery.pager.js实现分页效果
2019/07/29 jQuery
vue中重定向redirect:‘/index‘,不显示问题、跳转出错的完美解决
2020/09/28 Javascript
解决idea开发遇到javascript动态添加html元素时中文乱码的问题
2020/09/29 Javascript
[01:05:12]2014 DOTA2国际邀请赛中国区预选赛 TongFu VS CIS-GAME
2014/05/21 DOTA
[06:24]DOTA2亚洲邀请赛小组赛第三日 TOP10精彩集锦
2015/02/01 DOTA
python实现判断数组是否包含指定元素的方法
2015/07/15 Python
更改Python的pip install 默认安装依赖路径方法详解
2018/10/27 Python
Python利用itchat库向好友或者公众号发消息的实例
2019/02/21 Python
Django中的FBV和CBV用法详解
2019/09/15 Python
Python selenium爬取微信公众号文章代码详解
2020/08/12 Python
Under Armour美国官网:美国知名高端功能性运动品牌
2016/09/05 全球购物
Sixt美国租车:高端豪华车型自驾体验
2017/09/02 全球购物
Java模拟试题
2014/11/10 面试题
先进工作者获奖感言
2014/02/08 职场文书
网络工程师职业规划
2014/02/10 职场文书
教师调动申请报告
2015/05/18 职场文书
python中pd.cut()与pd.qcut()的对比及示例
2022/06/16 Python