十天学会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 20 PHP
PHP正则表达式之定界符和原子介绍
Oct 05 PHP
使用php 获取时间今天明天昨天时间戳的详解
Jun 20 PHP
php实现加减法验证码代码
Feb 14 PHP
php生成静态页面的简单示例
Apr 17 PHP
PHP中echo和print的区别
Aug 28 PHP
php判断当前用户已在别处登录的方法
Jan 06 PHP
PHP的全局错误处理详解
Apr 25 PHP
thinkphp3.x连接mysql数据库的方法(具体操作步骤)
May 19 PHP
ThinkPHP3.2.3实现分页的方法详解
Jun 03 PHP
PHP5.4起内置web服务器使用方法
Aug 09 PHP
PHP实现求解最长公共子串问题的方法
Nov 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
实用函数3
2007/11/08 PHP
PHP笔记之:基于面向对象设计的详解
2013/05/14 PHP
php获取网卡的MAC地址支持WIN/LINUX系统
2014/04/30 PHP
php设计模式之简单工厂模式详解
2014/09/04 PHP
php查询ip所在地的方法
2014/12/05 PHP
Yii2 assets清除缓存的方法
2016/05/16 PHP
关于PHP虚拟主机概念及如何选择稳定的PHP虚拟主机
2018/11/20 PHP
javascript十个最常用的自定义函数(中文版)
2009/09/07 Javascript
JS 判断undefined的实现代码
2009/11/26 Javascript
JS分割字符串并放入数组的函数
2011/07/04 Javascript
jquery限定文本框只能输入数字即整数和小数
2013/11/29 Javascript
js获取客户端网卡的IP地址、MAC地址
2014/03/26 Javascript
jquery bind(click)传参让列表中每行绑定一个事件
2014/08/06 Javascript
js数值计算时使用parseInt进行数据类型转换(jquery)
2014/10/07 Javascript
Bootstrap Table使用整理(四)之工具栏
2017/06/09 Javascript
JavaScript 程序错误Cannot use 'in' operator to search的解决方法
2017/07/10 Javascript
js使用Promise实现简单的Ajax缓存
2018/11/14 Javascript
详解在Node.js中发起HTTP请求的5种方法
2019/01/10 Javascript
微信小程序五子棋游戏的棋盘,重置,对弈实现方法【附demo源码下载】
2019/02/20 Javascript
浅谈redux, koa, express 中间件实现对比解析
2019/05/23 Javascript
vue页面加载时的进度条功能(实例代码)
2020/01/13 Javascript
Vue.js 中制作自定义选择组件的代码附演示demo
2020/02/28 Javascript
JS指定音频audio在某个时间点进行播放
2020/11/28 Javascript
[43:35]TI4 循环赛第二日Liquid vs Fnatic
2014/07/11 DOTA
django使用html模板减少代码代码解析
2017/12/12 Python
Python文本特征抽取与向量化算法学习
2017/12/22 Python
python实现输入三角形边长自动作图求面积案例
2020/04/12 Python
CSS3制作半透明边框(Facebox)类似渐变
2012/12/09 HTML / CSS
Rodd & Gunn澳大利亚官网:新西兰男装品牌
2018/09/25 全球购物
韩国美国时尚服装和美容在线全球市场:KOODING
2018/11/07 全球购物
销售职业生涯规划范文
2014/03/14 职场文书
借款协议书范本
2014/04/22 职场文书
中国梦演讲稿教师篇
2014/04/23 职场文书
爱护公物演讲稿
2014/09/09 职场文书
公司地址变更通知
2015/04/25 职场文书
Golang Gob编码(gob包的使用详解)
2021/05/07 Golang