Home >php教程 >php手册 >PHP3中文文档续3

PHP3中文文档续3

WBOY
WBOYOriginal
2016-06-13 10:23:50918browse

任何PHP脚本语言都是使用连续的语句创建的。一个语句可以是一个赋值语句,一个函数调用,一个循环,一个条件语句甚至一个不做任何事情的语句(一个空的语句)。语句经常使用分号(;)结尾。另外,利用卷支持可以把一组语句压缩从而使语句可以被组成语句组。一个语句组是一个关于自身的申明。不同的语句类型将在本章被描述。   常量 PHP定义了一些常量提供给结构使它能够在运行时定义更多的类型。常量和变量十分的类似,但是他们在语法上有些微的不同。 被预定义的常量是__FILE__ 和__LINE__,在处理他们时,会发现他们与文件名和行号相符合。请参考如下示例:   Example 6-1. Using __FILE__ and __LINE__ //使用__FILE__ 和__LINE__   您可以使用函数define() 和undefine()来定义其它的常量。   Example 6-2. Defining Constants //定义常量 表达式 表达式是PHP最重要的基石。在PHP中,您所写的几乎所有的内容都是表达式。最简单同时也是最精确的定义一个表达式的方法是“任何内容都有它的值”。   立刻进入大脑的简单例子是:常量和变量。当您输入“$a = 5”,您就把值“5”赋给了变量“$a”,明显的,获得这个数值5,或者说’5’是一个值为5的表达式(在这个例子中,’5’是一个整数常量)。 赋值以后$a的值是5, 因此如果你这样写$b = $a,你它同$b = 5所表达的意思是一样的.换句话说,$a是一个值为5的表达式.如果一切工作正常,这些将是所发生的一切. 再稍微复杂一点的表达式的例子是函数(function) .例如,考虑以下下面的函数:   function foo () { return 5; }   假设你熟悉函数的概念(如果你不熟悉,看一下第四章),你可能假设$c=foo()从本质上说同$c=5是一致的,你是正确的.函数是以他们的返回值为值得表达式.既然foo()返回5,表达式’foo()’的值就是5。一般来说,函数不会仅仅返回一个态的值,他们一般都计算一些东西。 当然,PHP里面的值不必须是整数,并且经常他们不是PHP支持三种标量类型的数值:整数,浮点数,和字符串。(标量值是不能被再分为更小部分的数值,例如它不能是数组)。php也支持两种合成类型的数值:数组和对象。每一种数据类型都能被赋值给变量或者通过函数返回。 迄今为止,PHP/FI 2的用户不应该感觉到任何改变。然而,PHP把表达式带入了一个更深的层次,如同许多其它语言所作的一样。PHP是一种面向表达式的语言,几乎每一件事都是一个表达式.考虑一下我们已经处理过的表达式“$a=5”.可以非常容易的看出这里包含了两个值,常量’5’的值,和$a的值。$a的值也已经被更新成5。但是事实是这里还有一个额外的值包含其中,并且这个值就是赋值语句本身.这个赋值语句本身计算所赋值的数值,在这个例子中是5。实际上,它意味着“$a=5”,不管他做什么,是一个值为5的表达式。因此,一些像’$b=($a=5)’的表达式,实际上同’$a=5;$b=5’(分号代表表达式的结束)是一样的.既然赋值语句被以从右到左的顺序解析,你还可以这样写’$b=$a=5’。 另一个很好的表达式的例子是前和后递增量的方向性.PHP/FI 2的用户和许多其他语言的用户也许对符号(variable(变量)++和variable--)非常熟悉.这些就是递增和递减符号.在PHP/FI 2中,语句’$a++’没有任何值(不是一个表达式),并且因此你不能给它赋值或以任何方式来使用它.PHP通过发展这些表达式加强了递增(increment)/递减(decrement)的能力,像c语言中一样.在PHP中,有两种递增形式-前递增和后递增.这两种递增本质上都是使变量加1,并且对变量的影响都是一样的.他们的区别是递增表达式本身的值.前递增的形式是’++$variable(变量)’,计算递增值(PHP 在读出它的值之前递增变量的值,因此叫前递增)后递增的形式是’$variable++’,在变量递增前计算$variable的原始值(PHP先读出变量的值,然后再递增,因此叫后递增). 表达式的最后一个例子我们将处理组合操作符赋值表达式.你已经知道了如果你想将变量$a的值加1,你可以简单的写成’$a++’或’++$a’.但是如果你想加的数值不只是1呢,例如3?你可以多次使用’$a++’,但是很明显这样不是一个有效的,简洁的方式.通常的方法是这样写’$a=$a+3’. ’$a=$a+3’计算变量$a加3后的值,并且被重新赋值给了变量$a,最终的结果是变量$a的值加了3.在PHP中,如同像C一样的其它一些语言,你可以用更简短的方式来做这些.给变量$a的当前值加3可以写’$a+=3’.这个表达式正确的意思是”读出$a的值,加3,然后把它赋值给$a”.除了更加简洁和简略外,这样的语句执行起来速度更快.表达式’$a+=3’的值,像一个正则赋值语句的值.是被赋予的值.注意它不是3,而是$a+3的组合的值(这是一个被赋给$a的值).任何二元操作符都可以被用来组合成复合赋值操作符.例如,’$a-=5’($a=$a-5),’$b*=7’($b乘以7),等等. 如果你没有在其它语言中加过的话,你会认为下面的表达式看起来非常奇怪.这就是三元条件算子: $first ? $second : $third 如果第一个子表达式的值为真的话(非0),那么他的第二个子表达式将被计算,并且这就是整个条件表达式的值.否则,第三个子表达式将被预算,结果作为整个条件表达式的值. 下面的例子可以帮助你大体上理解前,后递增和表达式. function double($i) { return $i*2;} $b = $a = 5; /* 把5赋值$a和$b */ $c = $a++; /* 后递增, 把$a的原始值(5)赋值给$c */ $e = $d = ++$b; /* 前递增, 把经过递增操作的$b的值(6)赋值给$e和$d */ /* 这时,$d和$e都等于(6) */ $f = double($d++); /* 把$d的原始值(6)加倍,然后赋值给$f.$f等于(12)*/ $g = double(++$e); /* 先把$e执行递增操作,然后加倍, 2*7 = 14赋值给$g*/ $h = $g += 10; /* 首先,$g加10,并且最终结果是24.将这个值赋值给$h,并且$h最终的结果也是24.*/ 在本章的一开始,我们就说过”我们将描述各种类型的语句”.表达式可以成为语句,然而,并不是每一个表达式都是一个语句.既然这样,一个语句具有’expr’’;’的形式,一个表达式加上一个分号.在’$b=$a=5;’中,$a=5是一个有效的表达式,但是他不能由他自己构成一个语句.但是’$b=$a=5;’却是一个有效的语句. 最后一个值得提起的事情是一个表达式的值的真假.在很多事件中,主要在条件执行和循环中,你对表达式的确切的值并不感兴趣,你仅仅对他是否以为着 TRUE(真)或FALSE(假)(PHP没有专门的boolean类型).在PHP中计算表达式的真假的方式同perl非常相似.任何非零的数值都是TRUE,零是FALSE!注意负数也非零,所以也为真!空字符串和字符’0’为FALSE;所有其他字符串为TRUE.对于非标量的数值(数组或对象)-如果值没有包含任何元素,则被认为为FALSE,否则为TRUE. PHP提供了一个完整而且强大的表达式工具,并且完全说明他已经超出了本手册的范围.关于表达式是什么,你怎么才能构造一个有效的表达市,上面的例子应该给了你一个很好的提示.贯穿这个手册的其余部分,我们将用’expr’代表有效的PHP表达式.   IF IF结构是任何语言中最重要的特性之一,PHP也包括了它。它允许进行条件判断同时执行相应的程序段。PHP中IF语句的特性和C是十分类似的: if (expr) statement 在对该表达式片段的描述后,会判断表达式的值是否为真。如果表达式的值为真,PHP会执行该语句,如果该值为假,那么PHP将会跳过该语句。   接下来的例子中如果$a比$b大,那么将显示“a is bigger than b”。 if ($a > $b) print "a is bigger than b";   通常的情况,是用户希望使用不只一条语句被有条件的执行。当然,在这里没有必要对每一个语句使用IF条件判断。用户可以使用一组语句来实现这个功能。例如,如果$a比$b大,那么下面的代码将显示“a is bigger than b”,同时将$a的值赋给$b。 if ($a > $b) { print "a is bigger than b"; $b = $a; }   IF语句可以嵌套在另一个IF语句之中,利用这一点,用户可以根据不同的情况执行程序中不同的部分。   ELSE 通常,可能在条件符合时希望运行某个语句,而在条件不符合时希望运行另一段程序。这就是ELSE语句的作用。ELSE扩展了IF语句的作用,当条件为假时,ELSE后面的语句将被执行。例如,接下来的程序段将在$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"; }   ELSE语句并不仅仅起到在IF表达式值为假的时候执行语句的作用,如果在它后面接上IF的话,就成为了ELSEIF语句,使用它可以进一步的分析假的情况(见下文)。   ELSEIF   正如它的名字所暗示的,ELSEIF是IF和ELSE的组合。和ELSE一样它扩展了IF语句对FALSE(假)的处理。但是和ELSE不一样的是,ELSEIF将已经为假的条件再进行一次判断,并根据判断的结果进行处理。例如,下列代码在$a>$b的情况下将显示“a is bigger than b”,当$a不大于$b的时候就再进行一次判断,如果$a==$b,将显示“a is equal to b”,如果$a $b) { print "a is bigger than b"; } elseif ($a == $b) { print "a is equal to b"; } else { print "a is smaller than b"; }   在同一个IF语句中可以有多个ELSEIF语句。第一个ELSEIF表达式(if any)如果为真,那么将被执行。在PHP3中,您也可以写成“else if”(使用两个词)同时效果和使用“elseif”(一个词)是一样的。他们的语言仅仅有些微的不一样(如果您熟悉C语言的话,您会发现这个不一样和在C中类似)但是最终他们的结果是完全一样的。   ELSEIF语句仅仅在IF语句或前一个ELSEIF的表达式为假,同时当前的ELSEIF语句表

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn