十天学会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速度全攻略
Oct 09 PHP
WML,Apache,和 PHP 的介绍
Oct 09 PHP
解决php使用异步调用获取数据时出现(错误c00ce56e导致此项操作无法完成)
Jul 03 PHP
php生成EAN_13标准条形码实例
Nov 13 PHP
JavaScript实现滚动栏效果的方法
Apr 27 PHP
[原创]php逐行读取txt文件写入数组的方法
Jul 02 PHP
PHP基于cookie与session统计网站访问量并输出显示的方法
Jan 15 PHP
浅析PHP7新功能及语法变化总结
Jun 17 PHP
微信企业转账之入口类分装php代码
Oct 01 PHP
PHP getName()函数讲解
Feb 03 PHP
phpstorm 配置xdebug的示例代码
Mar 31 PHP
thinkphp5.1框架实现格式化mysql时间戳为日期的方式小结
Oct 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提取中文首字母
2008/04/09 PHP
领悟php接口中interface存在的意义
2013/06/27 PHP
Javascript中暂停功能的实现代码
2007/03/04 Javascript
jQuery 注意事项 与原因分析
2009/04/24 Javascript
js 图片缩放(按比例)控制代码
2009/05/27 Javascript
JSON 客户端和服务器端的格式转换
2009/08/27 Javascript
jquery 定位input元素的几种方法小结
2013/07/28 Javascript
javascript不同类型数据之间的运算的转换方法
2014/02/13 Javascript
Bootstrap入门书籍之(一)排版
2016/02/17 Javascript
jQuery zTree加载树形菜单功能
2016/02/25 Javascript
JavaScript设计模式开发中组合模式的使用教程
2016/05/18 Javascript
详解Javascript ES6中的箭头函数(Arrow Functions)
2016/08/24 Javascript
web前端开发upload上传头像js示例代码
2016/10/22 Javascript
JavaScript中正则表达式使数字、中文或指定字符高亮显示
2017/10/31 Javascript
Vue中的slot使用插槽分发内容的方法
2018/03/01 Javascript
vue使用v-for实现hover点击效果
2018/09/29 Javascript
jquery+php后台实现省市区联动功能示例
2019/05/23 jQuery
Python Tkinter基础控件用法
2014/09/03 Python
python入门前的第一课 python怎样入门
2018/03/06 Python
python3+PyQt5图形项的自定义和交互 python3实现page Designer应用程序
2020/07/20 Python
Python采集代理ip并判断是否可用和定时更新的方法
2018/05/07 Python
解决使用PyCharm时无法启动控制台的问题
2019/01/19 Python
python 中Arduino串口传输数据到电脑并保存至excel表格
2019/10/14 Python
pytorch 实现将自己的图片数据处理成可以训练的图片类型
2020/01/08 Python
python实现井字棋小游戏
2020/03/04 Python
英国50岁以上人群的交友网站:Ourtime
2018/03/28 全球购物
女性时尚网购:Chic Me
2019/07/30 全球购物
旅游网创业计划书
2014/01/31 职场文书
土木工程专业推荐信
2014/02/19 职场文书
银行纠风工作实施方案
2014/06/08 职场文书
酒店爱岗敬业演讲稿
2014/09/02 职场文书
工艺技术员岗位职责
2015/02/04 职场文书
小学教师年度个人总结
2015/02/05 职场文书
2015年惩防体系建设工作总结
2015/05/22 职场文书
Spring Cache和EhCache实现缓存管理方式
2021/06/15 Java/Android
http通过StreamingHttpResponse完成连续的数据传输长链接方式
2022/02/12 Python