您当前的位置: 首页 > 网站编程 > PHP教程 > 由浅入深学习动态网页制作PHP的编程与应用

由浅入深学习动态网页制作PHP的编程与应用

作者:不详 来源:网络 发布时间: 2011-05-28 16:46 点击:
表达式是PHP最重要的组成元素。在PHP3.0中,几乎你所写的任何东西都是表达式。表达式的最简单但精确的定义是有一个值的任何东西。 一个简单的例子是常量和变量。当你写$a=5时,你给$a赋了值5。(在这种情况下,5是一个整形常量)。在此,你是希望把$a赋值成5。所以写$b=$

由浅入深学习动态网页制作PHP的编程与应用

  表达式是PHP最重要的组成元素。在PHP3.0中,几乎你所写的任何东西都是表达式。表达式的最简单但精确的定义是"有一个值的任何东西"。
  
  一个简单的例子是常量和变量。当你写"$a=5"时,你给$a赋了值‘5‘。(在这种情况下,‘5‘是一个整形常量)。在此,你是希望把$a赋值成5。所以写$b=$a时,你希望的结果就是$b=5。即$a是一个值为5的表达式。
  
  复杂表达式的简单例子是函数。比如说,考虑以下函数:
  
  function foo()
  
  {
  
  return5;
  
  }
  
  如果你认为写$c=foo()实际上和写$c=5是一样的,那么你是对的。函数是值为其返回值的表达式。因为foo()返回5,所以表达式‘foo()‘的值是5。
  
  PHP的值当然不限于整形,且通常都不是。PHP支持三类值的类型:整形值,浮点值和字符串值。PHP支持两种混合类型(non-scalar):数组和对象。这两种类型的值可以赋给变量或从函数中返回。
  
  PHP3是一种面向表达式的语言,所以几乎所有东西都是表达式。考虑我们已经讨论的例子,‘$a=5‘。很容易看出这里有两个值,整形常量‘5‘的值,和也被赋为5的变量$a的值。但是这里实际上还有一个附加的值,就是赋值语句本身的值。赋值语句本身的值就是被赋给的值,本例中是5.事实上,它意味着不考虑‘$a=5‘要做什么,它是一个值为5的表达式。这样,写诸如‘$b=($a=5)‘的语句,就象‘$a=5;$b=5;‘(每条语句末尾有一个分号)。因为赋值的顺序是从右向左的你也可以写成‘$b=$a=5‘。
  
  表达式计算方向的另一个好例子是先加、后加及先减、后减。PHP/FI和多数其他语言的用户可能很熟悉variable++和variable。这是自加和自减操作。在PHP/FI2中,语句‘$a++‘没有值(它不是表达式),这样你就既不能赋值给它也不能通过任何办法使用它。PHP3把它们变成了和C中一样的表达式从而增强了自加和自减运算的能力。和C中类似,PHP3中也有两种类型的自加先加和后加。先加和后加的本质都是变量自加,对于变量本身的作用是一样的。不同点是自加表达式的值。形如‘++$variable‘的先加,计算变量自加后的值(PHP先做变量自加,再读取它的值,也就叫做‘先加‘).形如‘$variable++‘的后加,则先计算原始变量$variable的值,然后才进行自加(PHP在读取变量的值后再做自加,因此叫做‘后加‘).
  
  最常见的表达式是比较表达式。这种表达式计算结果是0或1,分别意味着FALSE或是TRUE。PHP支持>(大于),>=(大于等于),==(等于),<(小于)及<=(小于等于)。这种表达式通常用在条件执行里,例如IF语句。
  
  在这里我们最后要讨论的表达式是混合赋值表达式。你已经知道如果要使$a加一,你可以简单的写一句‘$a++‘或者‘++$a‘。但是如果要增加的值比1大怎么办呢,例如使它加3?你可以多写几次‘$a++‘,但这显然不是一种高效或令人乐于接受的办法。另外一个通常的办法是写‘$a=$a+3‘。先计算‘$a+3‘的值,在赋回到$a,这样$a就加上3了。在PHP3中,你可以象在其他几种语言(例如C)一样把它简写,这样更清晰、快洁易懂。把当前变量$a加3可以写成‘$a+=3‘。这句话的意思是"取出$a的值,把它加3,在赋给$a"。这除了使得语句简短、清晰,还使它执行的更快。表达式‘$a+=3‘的值,和一个严格的赋值语句一样,是所赋的值。注意:不是3,而是$a加3的值(这才是赋给$a的)。任何的双操作符可以被用于这种赋值操作模式,例如‘$a-=5‘(变量$a减去5),‘$b*=7‘(变量$b乘以7),等等。
  
  最后值得提到的是表达式的真值。很多时候(主要是在条件执行和循环时),你并不关心表达式的特定值,而只是注意它代表TRUE还是FALSE(PHP没有专用的布尔类型)。PHP中使用类似perl的方法计算表达式的真值。任何非零的值为TRUE,零为FALSE。请一定注意负零的值是非零值,并被视为TRUE!空字符串可字符串"0"为FALSE;所其他的字符串为TRUE。对于非数量值(数组和对象)-如果它的值不含任何元素为FALSE,否则为TRUE。
  
  第五章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的语句将被执行。在PHP3中,你也可以写成‘else if‘(写成两个单词)和‘elseif‘(写成一个单词)效果一样。这只是写法上的细小差别(如果你熟悉C,它也是),结果是完全一样的。
  
  ELSEIF语句仅在IF表达式和任何前面的ELSEIF表达式都为FALSE,且当前ELSEIF表达式为TRUE时执行。
  
  下面是一个含有ELSEIF和ELSE的嵌套格式的IF语句:
  
  if($a==5):
  
  print"a equals5";
  
  print"...";
  
  elseif($a==6):
  
  print"a equals6";
  
  print"!!!";
  
  else:
  
  print"a is neither5nor6";
  
  endif;
  
  4、WHILE语句
  
  WHILE循环是PHP3的一种简单的循环。象在C中一样。WHILE语句的基本格式是:
  
  WHILE(expr)statement
  
  WHILE语句的意思非常简单。它告诉PHP只要WHILE表达式为TRUE就重复执行嵌套的语句。每次循环开始时检查WHILE表达式的值,所以即使在嵌套语句内改变了它的值,本次执行也不会终止,而直到循环结束(每次PHP运行嵌套的语句称为一次循环)。类似于IF语句,你可以用大括号把一组语句括起来,在同一个WHILE循环中执行多条语句:
  
  WHILE(expr):statement...ENDWHILE;
  
  下面例子完全相同,都打出数字1到10:
  
  /*example1*/
  
  $i=1;
  
  while($i<=10){
  
  print$i++;/*the printed value would be$i before the increment(post-
  
  increment)*/
  
  }
  
  /*example2*/
  
  $i=1;
  
  while($i<=10):
  
  print$i;
  
  $i++;
  
  endwhile;

分享到:
本文"由浅入深学习动态网页制作PHP的编程与应用"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4