PHP基础3:表达式和操作符

表达式

  • 定义
    表达式是可以通过求值来产生一个值的PHP代码块。
  • 示例
    最简单的表达式是字面量和变量。字面量的结果是其本身,而变量的值存储在变量中。使用简单的表达式和操作符,可以形成更复杂的表达式。

操作符

  • 定义
    操作符需要一定的值(操作数),然后进行某种操作(例如,将它们相加)。操作符的书写和标点符号一样,例如数学符号“+”和“-”。某些操作符修改其操作数,但大部分操作符不会这么做。
  • PHP操作符列表(P优先级,A结合性)
P A 操作符 操作
21 N clone, new 创建新对象
20 L [ 数组下标
19 R ~ 按位非
R ++ 自增1
R -- 自减1
R (int), (bool), (float), (string), (array), (object), (unset) 类型转换
R @ 错误屏蔽
18 N instanceof 类型测试
17 R ! 逻辑非
16 L * 乘法
L / 除法
L % 取模
15 L + 加法
L - 减法
L . 字符串连接
14 L << 按位左移一位
L >> 按位右移一位
13 N <, <= 小于,小于等于
N >, >= 大于,大于等于
12 N == 等于
N !=, <> 不等于
N === 类型和值相等
N !== 类型和值不相等
11 L & 按位与
10 L ^ 按位异或
9 L 竖线 按位或
8 L && 逻辑与
7 L 两竖杠 逻辑或
6 L ?: 条件操作
5 L = 赋值
L +=, =, *=, /=, .=, %=, &=, 竖线=, ^=, ~=, <<=, >>= 有操作的赋值
4 L and 逻辑与
3 L xor 逻辑异或
2 L or 逻辑或
1 L , 列表分隔符

操作符的数目

  • 一元操作符
    将一个简单的表达式转换成为一个更复杂的表达式。
  • 二元操作符
    将两个操作数(或表达式)组合成一个更复杂的表达式。
  • 三元操作符
    将三个表达式结合成一个。

操作符的优先级

  • 两条规则
    乘法和除法比加法和减法的优先级高。
    其他操作使用小括号()。

操作符的结合性

-定义
结合性定义了操作符具有相同优先级时计算的顺序。

隐式转换(类型戏法)

  • 定义
    许多操作符对操作数类型有要求。PHP的值会根据需要自动进行转换类型。
  • 二进制算数操作符的隐式类型转换规则
第一个操作数类型 第二个操作数类型 类型转换
整型 浮点型 整型转换为浮点型
整型 字符串 字符串转换成数字,如果字符串转换后是浮点型,整型也会转换成浮点型
浮点型 字符串 字符串转换成浮点型
  • 字符串连接操作符将两个操作数转换成字符串,然后再连接
3 . 2.74  // 获得字符串 32.74
  • 字符串转换为数字
    字符串以整数或浮点数开始,则转换为相应的整数或浮点数。
    未在字符串开始处发现任何数字,该字符串数值为0。
    字符串包含一个.或大写小写e,则转为浮点数。

算术操作符

加法 +
减法 -
乘法 *
除法 /
求模 %
算术负号 -
算术断言 +

字符串连接操作符

.

自动递增/自动递减操作符

++
--

可对字符串操作,例如把一个字母递增,它会成为下一个字母。如为z,则变为a,左边一个字符递增。

比较操作符

  • 比较操作符对应的不同的比较关系
第一个操作数 第二个操作数 比较关系
数字 数字 数字
数字字符串 数字字符串 数字
数字字符串 数字 数字
数字字符串 字符串 数字
字符串 数字 字典
字符串 字符串 字典
  • 数字字符串字典比较
strcmp()
  • 操作符
==
===
!=, <>
!==
>
>=
<
<=

位操作符

  • 定义
    位操作符作用于二进制表示的操作数上。操作数先转为二进制,再进行位操作,再转回原类型。
~
& //两个字符串,较长的尾部忽略
| //两个字符串,较短的后面0填补
^ //两个字符串,较长的尾部忽略
<<
>>

逻辑操作符

&&, and 
例:
$result = $flag and mysql_connect(); //条件为真才执行
 
||, or
例:
$result = fopen($filename) or exit(); //异常触发错误信息

xor //有且仅有一个true, 返回true
!
  • 短路处理(short-circuiting)
    &&前面为false,后面不执行。
    ||前面为true,后面不执行

类型转换操作符

  • 定义
    允许把变量强制转换为其他类型。
  • 列表
操作符 同义操作符 转换类型为
(int) (integer) 整型
(bool) (boolean) 布尔型
(float) (double),(real) 浮点型
(string) 字符串
(array) 数组
(object) 对象
(unset) NULL
  • 变量本身不变

  • 特殊转换结果
    数组转换成数字,结果为1。
    数组转字符串,结果array。
    对象与数组可互相转换。

赋值操作符

  • 赋值 =

  • +=,-=,*=,/=,%=,^=,&=,|=,.=

其他操作符

  • 屏蔽错误@
    屏蔽操作符或函数可能产生的错误信息。

  • 执行外部命令...
    执行shell命令,返回输出结果。

  • 条件选择 ? :
    条件选择符先执行?前面的表达式,如果结果为true,返回?与:之间的表达式的值,否则返回: 之后的表达式的值。

  • 类型 instanceof
    测试变量是否为给定类的示例化对象。

$a = new Foo;
$isAFoo = $a instanceof Foo; // true
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,711评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,932评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,770评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,799评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,697评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,069评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,535评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,200评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,353评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,290评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,331评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,020评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,610评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,694评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,927评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,330评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,904评论 2 341

推荐阅读更多精彩内容