php学习之道:php 流程控制语句

PHP控制语句

1、IF语句

  IF语句是多数语言中的一个重要特点,它根据条件执行程序段。PHP的IF语句类似于 C:

  if (expr)

  statement

  正如在表达式中所论述, expr 被计算为它的真值。如果 expr 为TRUE, PHP执行相应语句, 如果为FALSE 则忽略它。

如果$a 大于 $b,下例将显示 ’a is bigger than b’:

  if ($a >$b)

  print "a is bigger than b";

  通常,你希望根据条件执行多于一条语句。当然,不需要给每条语句都加上 IF 判断。取而代之,可以把多条语句组成一个语句组。

   If语句可以嵌套于其他 IF语句中,使你能够灵活地有条件的执行程序的各个部分。

2、 ELSE语句

  通常你希望满足特定条件时执行一条语句,不满足条件是执行另一条语句。ELSE就是用来做这个的。ELSE 扩展IF语句,在IF语句表达式为 FALSE时执行另一条语句。例如, 下面程序执行如果 $a 大于 $b则显示 ’a is bigger than b’,否则显示 ’a is NOT bigger than b’:

  if ($a>$b) {

  print "a is bigger than b";

       }

  else {

    print "a is NOT bigger than b";

     }

 3、 ELSEIF语句

  ELSEIF,就象名字所示,是IF和ELSE的组合,类似于 ELSE,它扩展 IF 语句在IF表达式为 FALSE时执行其他的语句。但与ELSE不同,它只在ELSEIF表达式也为TRUE时执行其他语句。

  可以在一条IF语句中使用多条ELSEIF语句。第一个ELSEIF表达式为TRUE的语句将被执行。在PHP 3中,你也可以写成 ’else if’ (写成两个单词)和 ’elseif’ (写成一个单词)效果一样。这只是写法上的细小差别(如果你熟悉 C,它也是),结果是完全一样的。

  ELSEIF语句仅在IF表达式和任何前面的ELSEIF表达式都为FALSE,且当前ELSEIF表达式为TRUE时执行。

  下面是一个含有ELSEIF和ELSE的嵌套格式的IF语句:

  if ($a==5):

   print "a equals 5";

   print "...";

  elseif ($a==6):

      print "a equals 6";

      print "!!!";

     else:

      print "a is neither 5 nor 6";

  endif;

 

  4、 WHILE语句

  WHILE循环是PHP 3的一种简单的循环。象在 C 中一样。WHILE语句的基本格式是:

    WHILE(expr) statement

  WHILE语句的意思非常简单。它告诉PHP只要WHILE表达式为TRUE就重复执行嵌套的语句。每次循环开始时检查WHILE表达式的值,所以即使在嵌套语句内改变了它的值,本次执行也不会终止,而直到循环结束(每次PHP运行嵌套的语句称为一次循环)。类似于IF语句,你可以用大括号把一组语句括起来,在同一个WHILE循环中执行多条语句:

   WHILE(expr): statement ... ENDWHILE;

  下面例子完全相同, 都打出数字 1 到 10:

  /* example 1 */

   $i=1;

   while ($i0);

上面循环只执行一次, 因为第一次循环后,当检查真值表达式时, 它算出来是 FALSE ($i 不大于 0)循环执行终止。

  6、 FOR循环语句

  FOR循环是PHP中最复杂的循环。象在 C 中一样。 FOR循环的语法是:

    FOR (expr1; expr2; expr3) statement

  第一个表达式(expr1)在循环开始时无条件的计算(执行)。

  每一次循环, 表达式 expr2 都被计算。如果结果为 TRUE, 则循环和嵌套的语句继续执行。如果结果为 FALSE,则整个循环结 束。

   每次循环结束时, expr3 被计算(执行). 每一个表达式都可为空。expr2 为空则循环的次数不定(PHP 默认它为TRUE,象C一样)。除非你要通过一个条件的 BREAK语句代替FOR 的真值表达式来结束循环,否则不要这样。

  考虑下面例子。它们都显示数字 1 到 10:

   /* example 1 */

     for ($i=1; $i10) {

         break;

         }

       print $i;

      }

    /* example 3 */

      $i = 1;

      for (;;) {

        if ($i >10) {

          break;

         }

        print $i;

        $i++;

       }

当然,第一个例子显然是最好的,但借此你可以发现在FOR 循环中很多场合可以使用空的表达式。

其他的语言有一条foreach语句用来遍历一个数组或哈希(hash)表。PHP使用while语句和 list()、each() 函数来达到这个功能。

7、 SWITCH选择语句

  SWITCH语句就象是对同一个表达式的一系列IF语句。在很多时侯,你想把同一个变量(或者表达式)和许多不同的值去比较 ,并根据不同的比较结果执行不同的程序段。这就是 SWITCH语句的用处了。

  下面两个例子通过不同的方法做同一件事,一个用一组 IF语句,另外一个用 SWITCH 语句:

  /* example 1 */

   if ($i == 0) {

    print "i equals 0";  

    }

   if ($i == 1) {

    print "i equals 1";

    }

   if ($i == 2) {

    print "i equals 2";

   }

  /* example 2 */

   switch ($i) {

   case 0:

    print "i equals 0";

    break;

   case 1:

    print "i equals 1";

    break;

   case 2:

    print "i equals 2";

    break;

   }

(二)、REQUIRE语句

  REQUIRE语句用指定的文件代替自己,很象 C 中的预处理 #include 。

  这意味着你不能为了每次调用该函数来包含不同文件的内容,而把require()语句放在一个循环结构,。要这么做,使用 INCLUDE 语句。

    require(’header.inc’);

(三)、 INCLUDE语句

  INCLUDE语句包含指定的文件。

  每次遇到INCLUDE是INCLUDE语句就包含指定的文件。所以你可以在一个循环结构中使用INCLUDE语句以包含一系列不同的文件。

    $files = array(’first.inc’, ’second.inc’, ’third.inc’);

    for ($i = 0; $i items[$artnr] += $num;

     }

      // Take $num articles of $artnr out of the cart

    function remove_item($artnr, $num) {

      if ($this->items[$artnr] >$num) {

        $this->items[$artnr] -= $num;

        return true;

       } else {

           return false;

          }

       }

     }

    ?>

上面定义了一个叫Cart 的类,其中包括一个关联数组和两个用来从cart中增加和删除项目的函数。

  类是实际变量的原始模型。你要通过new 操作符来建立一个所需类型的变量。

   $cart = new Cart;

   $cart->add_item("10", 1);

这建立起一个 Cart类的对象$cart。该对象的函数add_item()被调用来给第10项加 1。

  类可以从其他的类扩充得到。扩充或派生出来的类拥有基类的所有变量和函数及你在扩充定义中所定义的东西。这要使用 extends 关键字。

  class Named_Cart extends Cart {

    var $owner;

    function set_owner($name) {

      $this->owner = $name;

     }

   }

这里定义了一个名为 Named_Cart 的类它继承了 Cart类所有变量和函数并增加了一个变量 $owner和一个函数 set_owner()。 你建立的 named_cart 类的变量现在就能设置carts 的 owner了。在named_cart变量中你仍然可以使用一般的 cart函数:

 $ncart = new Named_Cart; // Create a named cart

 $ncart->set_owner("kris"); // Name that cart

 print $ncart->owner; // print the cart owners name

 $ncart->add_item("10", 1); // (inherited functionality from cart)

函数中的变量 $this 意思是当前的对象。你需要使用 $this->something 的形式来存取所有当前对象的变量或函数。

  类中的构造器是你建立某种类的新变量时自动被调用的函数。类中和类名一样的函数就是构造器。

  class Auto_Cart extends Cart {

     function Auto_Cart() {

       $this->add_item("10", 1);

      }

    }

这里定义一个类 Auto_Cart ,它给 Cart类加了一个每次new操作时设置项目10进行变量初始化的构造器。构造器也可以有参数,这些参数是可选的,这种特点也使得其十分有用。

  class Constructor_Cart {

   function Constructor_Cart($item = "10", $num = 1) {

     $this->add_item($item, $num);

    }

   }

     // Shop the same old boring stuff.

  $default_cart = new Constructor_Cart;

    // Shop for real...

  $different_cart = new Constructor_Cart("20", 17); 

php学习之道:php 流程控制语句,布布扣,bubuko.com

时间: 2024-12-27 22:57:07

php学习之道:php 流程控制语句的相关文章

大数据技术之_23_Python核心基础学习_02_ 流程控制语句 + 序列(10.5小时)

第三章 流程控制语句3.1 简介3.2 条件判断语句(if 语句)3.2.1 if 语句3.2.2 input 函数3.2.3 if-else 语句3.2.4 if-elif-else 语句3.2.5 if 练习3.3 循环语句(while 语句 + for 语句)3.3.1 while 循环3.2.2 while 练习3.4 循环嵌套3.5 break 和 continue3.6 质数练习的优化3.7 小游戏 <唐僧大战白骨精>第四章 序列4.1 列表(list)的简介4.2 列表的切片4.

[dart学习]第六篇:流程控制语句

经过前面的基础知识了解学习,我们今天可以进入语句模块啦. dart主要有以下流程控制语句: if-else for循环 while和do-while循环 break和continue switch-case assert 当然,你还可以使用 try-catch或throw (一)if-else dart的if(或者else if)的条件表达式必须为bool表达式,不能使用其他类型.dart的if-else用法与C语言类似,不再细述. int a = 6; if(a<0) { print("

轻松学习JavaScript七:JavaScript的流程控制语句

JS的核心ECMAScript规定的流程控制语句和其他的程序设计语言还是蛮相似的.我们选择一些实用的例子来看 一下这些语句.顺序结构我们在这里就不再提到,直接说条件和循环以及其他语句. 一条件选择结构 条件选择语句用于基于不同的条件来执行不同的动作,通常在写代码时,总是需要为不同的决定来执行不同的 动作,可以在代码中使用条件语句来完成该任务. 在JavaScript中,我们可使用以下条件语句: if 语句:只有当指定条件为true时,使用该语句来执行代码 <!DOCTYPE html PUBLI

JAVA学习(四):Java流程控制语句(顺序结构、if条件语句、switch条件语句、循环语句与跳转语句)

Java流程控制语句 本博文将对JAVA中组成各种结构的控制语句进行重点介绍,主要内容是区别于C/C++中的流程控制语句的重点解析. 1.顺序语句 顺序结构中的语句可分为:表达式语句.空语句和复合语句三大类. 注: (1).空语句主要用来作为空循环体,其语法格式如下: : //其实就是一个分号 执行一个空语句,就是将控制转到该语句的结束点.这样,如果空语句是可以到达的,则空语句的结束点也是可以到达的. (2).复合语句又称为语句块,若语句块是空的,则控制转到语句块的结束点. 2.if条件语句 J

Java基础学习第三天——运算符与流程控制语句

文档版本 开发工具 测试平台 工程名字 日期 作者 备注 V1.0 2016.02.22 lutianfei none 运算符 算术运算符 赋值运算符 比较运算符 逻辑运算符 位运算符 三目运算符 算术运算符 * 注:整数相除只能得到整数,若想得到小数,只需将任意一个数据变为浮点数. * eg:System.out.println(x*1.0/y); ++,– : 放在操作数前面,先自增或者自减,然后再参与运算. 放在操作数后面,先参与运算,再自增或者自减. 练习题1: int a=10,b=1

Java学习笔记—第六章 流程控制语句

第六章  熟悉Java的流程控制语句 Java的程序流程控制分为顺序结构.选择结构.循环结构和跳转语句. 顺序结构:按照程序代码自上而下执行,直到程序结束,中间没有任何判断和跳转. 选择结构(分支结构):判断给定的条件,根据判断结果控制程序的流程.包括if语句和switch语句. 2.1 if语句:通过判断给定表达式的值来决定程序的流程.常见if语句的形式有三种: (1)if(expression){ statement: } (2)if(expression){ statement; }els

MYSQL进阶学习笔记三:MySQL流程控制语句!(视频序号:进阶_7-10)

知识点四:MySQL流程控制语句(7-10) 选择语句: (IF ELSE ELSE IF CASE 分支)IFNULL函数 IF语法: 语法规则: IF search_condition THEN statmen_list ; [SLSEIF search_condition THEN statmen_list]; ELSE statmen_list; END IF; 1 --7 流程控制语句之选择语句 2 DELIMITER // 3 CREATE PROCEDURE p_test7(IN

Java基础学习-流程控制语句

在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的.也就是说程序的流程对运行结果有直接的影响.所以,我们必须清楚每条语句的执行流程.而且,很多时候我们要通过控制语句的执行顺序来实现我们要完成的功能. 流程控制语句分类: -顺序结构 -选择结构 -循环结构 1.顺序结构 1.1 顺序结构的概述 是程序中最简单的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的. 1.2 顺序结构语句的执行流程 开始-->语句A-->语句B-->语

4.流程控制语句

流程控制语句 学习要点:1.语句的定义2.if语句3.switch语句4.do...while语句5.while语句6.for语句7.for...in语句8.break和continue语句9.whit语句 ECMAScript-262规定了一组流程控制语句.语句定义了ECMAScript中的只要语法,语句通常由一个或者多个关键字来完成给定的任务.诸如:判断.循环.退出等. 一.语句的定义 在ECMAScript中,所有的代码都是由语句来够构成的.语句表明执行过程中的流程.限定与约定,形式上可以