十天学会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 11 PHP
php切割页面div内容的实现代码分享
Jul 31 PHP
关于Zend Studio 配色方案插件的介绍
Jun 24 PHP
php file_get_contents抓取Gzip网页乱码的三种解决方法
Nov 12 PHP
php通过字符串调用函数示例
Mar 02 PHP
PHP利用APC模块实现大文件上传进度条的方法
Oct 29 PHP
ThinkPHP框架搭建及常见问题(XAMPP安装失败、Apache/MySQL启动失败)
Apr 15 PHP
PHP面向对象五大原则之依赖倒置原则(DIP)详解
Apr 08 PHP
PHP实现将上传图片自动缩放到指定分辨率,并保持清晰度封装类示例
Jun 17 PHP
php解决crontab定时任务不能写入文件问题的方法分析
Sep 16 PHP
smarty模板的使用方法实例分析
Sep 18 PHP
PHPstorm启用自动换行的方法详解(IDE)
Sep 17 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获取linux服务器状态的代码
2014/05/27 PHP
PHP版本如何选择?应该使用哪个版本?
2015/05/13 PHP
PHPCMS忘记后台密码的解决办法
2016/10/30 PHP
解决IE6的PNG透明JS插件使用介绍
2013/04/17 Javascript
js跳转页面方法总结
2014/01/29 Javascript
jQuery插件pagewalkthrough实现引导页效果
2015/07/05 Javascript
jQuery插件简单实现方法
2015/07/18 Javascript
自己动手制作基于jQuery的Web页面加载进度条插件
2016/06/03 Javascript
JavaScript自学笔记(必看篇)
2016/06/23 Javascript
利用jQuery异步上传文件的插件用法详解
2017/07/19 jQuery
webpack多页面开发实践
2017/12/18 Javascript
Node解决简单重复问题系列之Excel内容的获取
2018/01/02 Javascript
详解Javascript中new()到底做了些什么?
2018/03/29 Javascript
小试小程序云开发(小结)
2019/06/06 Javascript
javascript实现点击产生随机图形
2021/01/25 Javascript
Python中的下划线详解
2015/06/24 Python
python 输入一个数n,求n个数求乘或求和的实例
2018/11/13 Python
Python之时间和日期使用小结
2019/02/14 Python
python TF-IDF算法实现文本关键词提取
2019/05/29 Python
Python 如何提高元组的可读性
2019/08/26 Python
python实现扫雷游戏
2020/03/03 Python
python中如何设置代码自动提示
2020/07/15 Python
Python如何实现机器人聊天
2020/09/10 Python
Python绘图实现台风路径可视化代码实例
2020/10/23 Python
CSS3中几个新增加的盒模型属性使用教程
2016/03/01 HTML / CSS
CSS3+HTML5+JS 实现一个块的收缩与展开动画效果
2020/11/17 HTML / CSS
英国最大的网上药品商店:Chemist Direct
2017/12/16 全球购物
德国Discount-Apotheke中文官网:DC德式康线上药房
2020/02/18 全球购物
偷看我的初中毕业鉴定
2014/01/29 职场文书
绿色小区申报材料
2014/08/22 职场文书
大学生党员学习焦裕禄精神思想汇报
2014/09/10 职场文书
2014最新毕业证代领委托书
2014/09/26 职场文书
司法局群众路线教育实践活动开展情况总结
2014/10/25 职场文书
公司总经理岗位职责
2015/04/01 职场文书
小学2016年第十八届推普周活动总结
2016/04/05 职场文书
python之np.argmax()及对axis=0或者1的理解
2021/06/02 Python