十天学会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 相关文章推荐
利用static实现表格的颜色隔行显示
Oct 09 PHP
获得Google PR值的PHP代码
Jan 28 PHP
在mysql数据库原有字段后增加新内容
Nov 26 PHP
php实现的仿阿里巴巴实现同类产品翻页
Dec 11 PHP
php将fileterms函数返回的结果变成可读的形式
Apr 21 PHP
fleaphp crud操作之find函数的使用方法
Apr 23 PHP
ThinkPHP单字母函数(快捷方法)使用总结
Jul 23 PHP
php 使用html5实现多文件上传实例
Oct 24 PHP
PHP 二级子目录(后台目录)设置二级域名
Mar 02 PHP
PHP正则匹配操作简单示例【preg_match_all应用】
Jul 10 PHP
PHP操作Redis数据库常用方法示例
Aug 25 PHP
微信公众平台开发教程①获取用户Openid及个人信息图文详解
Apr 10 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翻页类
2009/06/01 PHP
用PHP为SHOPEX增加日志功能代码
2010/07/02 PHP
从康盛产品(discuz)提取出来的模板类
2011/06/28 PHP
YII框架中使用memcache的方法详解
2017/08/02 PHP
PHP实现执行外部程序的方法详解
2017/08/17 PHP
php 与 nginx 的处理方式及nginx与php-fpm通信的两种方式
2018/09/28 PHP
PHP 实现文件压缩解压操作的方法
2019/06/14 PHP
CL vs ForZe BO5 第三场 2.13
2021/03/10 DOTA
Extjs gridpanel 出现横向滚动条问题的解决方法
2011/07/04 Javascript
jquery DIV撑大让滚动条滚到最底部代码
2013/06/06 Javascript
一个简单的JS时间控件示例代码(JS时分秒时间控件)
2013/11/22 Javascript
jquery批量设置属性readonly和disabled的方法
2014/01/24 Javascript
javascript中call apply 的应用场景
2015/04/16 Javascript
CSS3实现动态背景登录框的代码
2015/07/28 Javascript
jQuery插件扩展测试实例
2016/06/21 Javascript
jQuery实现的placeholder效果完整实例
2016/08/02 Javascript
利用PM2部署node.js项目的方法教程
2017/05/10 Javascript
JS从非数组对象转数组的方法小结
2018/03/26 Javascript
详解Chart.js轻量级图表库的使用经验
2018/05/22 Javascript
BootStrap table实现表格行拖拽效果
2018/12/01 Javascript
node.js中ws模块创建服务端和客户端,网页WebSocket客户端
2019/03/06 Javascript
JS实现音乐钢琴特效
2020/01/06 Javascript
[00:35]DOTA2上海特级锦标赛 EG战队宣传片
2016/03/04 DOTA
python类和继承用法实例
2015/07/07 Python
Python可变参数函数用法实例
2015/07/07 Python
Python如何抓取天猫商品详细信息及交易记录
2018/02/23 Python
matplotlib subplots 调整子图间矩的实例
2018/05/25 Python
python opencv摄像头的简单应用
2019/06/06 Python
Python使用openpyxl复制整张sheet
2021/03/24 Python
机关党员2014全国两会学习心得体会
2014/03/10 职场文书
合作意向书
2014/07/30 职场文书
乡镇干部个人整改措施思想汇报
2014/10/10 职场文书
2015年社区综治宣传月活动总结
2015/03/25 职场文书
通知函的格式
2015/04/27 职场文书
Python实现打乒乓小游戏
2021/09/25 Python
Java9新特性之Module模块化编程示例演绎
2022/03/16 Java/Android