PHP学习之PHP表达式_php基础

PHP表达式

  表达式是PHP最重要的组成元素。在PHP 3.0中,几乎你所写的任何东西都是表达式。表达式的最简单但精确的定义是"有一个值的任何东西"。    一个简单的例子是常量和变量。
当你写 "$a = 5"时, 你给 $a 赋了值 '5' 。 (在这种情况下, '5' 是一个整形常量)。 在此,你是希望把 $a 赋值成 5。所以写 $b = $a 时,你希望的结果就是 $b = 5 。即 $a 是一个值为 5 的表达式。   复杂表达式的简单例子是函数。
比如说,考虑以下函数:    function foo()     {      return 5;     }   
如果你认为写$c = foo()实际上和写 $c = 5是一样的,那么你是对的。函数是值为其返回值的表达式。因为foo() 返回5, 所以表达式 'foo()'的值是 5 。   
PHP的值当然不限于整形,且通常都不是。PHP支持三类值的类型: 整形值,浮点值和字符串值。PHP 支持两种混合类型(non-scalar): 数组和对象。这两种类型的值可以赋给变量或从函数中返回。   
PHP 3是一种面向表达式的语言, 所以几乎所有东西都是表达式。
考虑我们已经讨论的例子, '$a = 5'。很容易看出这里有两个值,整形常量 '5'的值,和也被赋为 5 的变量 $a 的值。但是这里实际上还有一个附加的值,就是赋值语句本身的值。
赋值语句本身的值就是被赋给的值,本例中是 5. 事实上,它意味着不考虑 '$a = 5'要做什么,它是一个值为 5 的表达式。这样,写诸如 '$b = ($a = 5)'的语句,就象 '$a = 5; $b = 5;' (每条语句末尾有一个分号)。因为赋值的顺序是从右向左的你也可以写成 '$b = $a = 5'。   

   表达式计算方向的另一个好例子是先加、后加及先减、后减。PHP/FI和多数其他语言的用户可能很熟悉 variable++ 和 variable--。这是自加和自减操作。在 PHP/FI 2 中,语句 '$a++' 没有值(它不是表达式), 这样你就既不能赋值给它也不能通过任何办法使用它。PHP 3 把它们变成了和 C 中一样的表达式从而增强了自加和自减运算的能力。
和 C 中类似,PHP 3中也有两种类型的自加----先加和后加。先加和后加的本质都是变量自加,对于变量本身的作用是一样的。不同点是自加表达式的值。形如 '++$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 了。在PHP 3 中,你可以象在其他几种语言(例如 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。

时间: 2024-10-29 06:48:52

PHP学习之PHP表达式_php基础的相关文章

PHP 学习路线与时间表_php基础

本文讨论的重点在于PHP学习及开发的持久性与外延性.当许多人把自己三个月学会PHP当作一种资本到处炫耀时.当这些人炫耀过后又转投其它语言时.我必需告诉你,你不适合做PHP的开发工作. 是的,PHP有许多直观的函数,可以很直观的使用,但你未必真正了解它在什么样的状态下使用.. 或者说所有函数的所有组合使用是很难一下子完全撑握的...即便完全撑握...也或许可以找到别外的更好的方法... 是的,每个新的PHP的发行版本都有函数在被废止,还有另外一些新的函数出现,所以,这是一个不断加固的过程....

几个学习PHP的网址_php基础

今天准备开始学习PHP方面的东西,刚好同宿舍有几个同事都是PHP高手,向他请教了些基础的问题后,给我推荐了几个学习PHP的网址,在这贴出来分享下吧:http://www.phpx.net/http://www.phpe.net/ http://www.php.net/http://cn.php.net/manual/zh/index.phphttp://www.phpx.info/

php学习之运算符相关概念_php基础

复制代码 代码如下: <?php /*运算符号(PHP)操作符号 * * 按运算符号功能分为: * 一.算术运算符 + - * / % ++ -- * 二.字符串运算符 . 连接运算符 * 三.赋值运算符 = += -= *= /= %= .= * 四.比较运算符 > < >= <= == === != <> !== * 比较运算符---条件运算符---关系运算符 * 比较后的结果只有一种:boolean true false * === 比较时不仅要求内容相同,

PHP学习之PHP运算符_php基础

PHP运算符 下面我分别看一下PHP3的算术.字符串.逻辑与比较等运算符. 1.算术运算符 +: $a + $b 加 $a加上$b -: $a - $b 减 $a减去$b *: $a * $b 乘 $a乘以$b /: $a / $b 除 $a除以$b %: $a % $b 取模 $a除以$b的余数 如果两个操作数都是整型值(字符串将被转换为整型值),除号("/") 返回整型值(整除的值).如果任一个操作数是浮点值,则做浮点除法. 2 字符串运算符 字符串操作符只有字符串连接符 (&qu

那些年一起学习的PHP(二)_php基础

现在我们进入Linux世界开始我们的PHP编码之旅,在编码中会有各种的问题发生,在解决问题的时间也是自己从新手蜕变的时刻. 每一门程序设计语言都会从变量开始练习开始,PHP是一类嵌入式脚本语言,当然也可以从语法的数据类型开始.这一节主要从PHP的数据类型,数据变量入手学习. PHP语言的数据类型: (1)布尔值,[true,false]问:布尔值的定义只有两个:true,false,PHP定义变量同意用$ 表示,如$shop=false; (2)整型 [十进制,八进制,十六进制]支持的整数与平台

学习使用PHP数组_php基础

PHP4.0中共有超过30个新的数组相关函数.其中很多通用函数允许你检查给定数组中是否存在特定对象.对数组元素计数.增加或删除元素,或对元素排序. 如果你有很大的一个数组,而所要完成的仅是找出一个存在的给定值,你可以使用in_array()以返回true 或 false.如下代码将输出"Not found in this array"--因为你将在$namesArray中寻找一个并不存在的"Alber ". <? $namesArray = array(&qu

一步一步学习PHP(6) 面向对象_php基础

但是我们知道,面向对象有三大特征:继承,多态和封装. 1. 继承 我们继续上一节中的例子,在PHP中,继承和Java是一样的,都使用extends关键字. 复制代码 代码如下: class People { private $name; public function GetName() { return $this->name; } public function SetName($name) { $this->name=$name; } } class Student extends Pe

php学习之 数组声明_php基础

复制代码 代码如下: <?php /* * 一.数组的概述 * 1.数组的本质:管理和操作一组变量,成批处理 * 2.数组时复合类型(可以存储多个) * 3.数组中可以存储任意长度的数据,也可以存储任意类型的数据 * 4.数组可以完成其他语言数据结构的功能(链表,队列,栈,集合类) * * * * 二.数组的分类 * 数组中有多个单元,(单元称为元素) * 每个元素(下标[键]和值) * 单访问元素的时候,都是通过下标(键)来访问元素 * 1.一维数组,二维数组,三维数组...多维数组 * (数

PHP学习之整理字符串_php基础

1. 访问单个字符在PHP中,可以把字符串当成一个字符的数组,可以直接用数组的访问方法来访问字符串.如$str[0].在这里要注意的是,如果字符是ASCII码以外时,访问会有问题.因为这种访问只能取得一个字节. 2. 删除空白字符在PHP中,可以用trim(), ltrim(), rtrim()三个函数来删除字符串开头或结尾的空白字符.其中,trim()用于删除字符前后的空白字符:ltrim()用于删除字符左侧的空白字符:rtrim()用于删除字符右侧的空白字符.在默认情况下,会删除以下字符:空