# 运算符 [TOC] 运算符又称操作符,用于对数据进行各种运算。 运算符分类: * [ ] 算数运算符 * [ ] 赋值运算符 * [ ] 比较运算符 * [ ] 逻辑运算符 * [ ] 字符串连接符 * [ ] 三元运算符 * [ ] 特殊运算符 ## 算数运算符 算数运算符:+、-、\*、/、%、++、--、\*\*(幂运算) >[danger] 运算符左右的二个操作数,必须是同类型,才能运算!左右的操作数必须是数值型,如果不是先转换成数值型,在进行算数运算操作! * [ ] ++ 与 -- 在没有别的操作的情况下,++和--就是属于正常的自加和自减他们得的结果都属于一致,而如果有别的操作的情况下需要注意符号的位置:**如果符号在前那么就是先运算在赋值**,**如果符号在后那么就是先赋值在运算**。 ## 赋值运算符 赋值运算符:=、+=、-=、\*=、/=、%=,就是普通的数学运算。 ## 比较运算符 比较运算符:>、>=、<、<=、==、!=、===(全等)、!==(不全等) * [ ] “==”判断两个变量的值是否一样,如果值一样返回true,不一样返回false。 * [ ] “===”判断**两个变量的值和类型是否一样**,一样返回true,不一样返回false >[danger] 注意:字符串比较比较的是ASCll大小。比较运算符的比较结果,一定是布尔值,true或者false **比较规则总结**: * [ ] 如果两个字符串进行比较,是比较这两个字符串的每个字符的ASCII码大小。例如:"a" > "b" * [ ] 如果字符串和数值比较,先转成数值,再进行比较。例如:100 > "50px" * [ ] 如果整型和布尔值比较,先转成布尔值,再进行比较。例如:10 > true * [ ] 比较优先级:布尔型 > 数值型 > 字符串型 ## 逻辑运算符 逻辑运算符:&&(逻辑与)、||(逻辑或)、!(逻辑非) * [ ] 逻辑与(&&):如果左右两个操作数都为true,则结果为true,否则为false。 * [ ] 逻辑或(||):如果左右两个操作数有一个为true,则结果为true,否则为false。 * [ ] 逻辑非(!):取反操作,!true = false,!false = true,!100 = false >[danger] 逻辑运算的结果,一定是布尔值true或false ## 字符串连接符 字符串连接符:`.`连接字符串,简单的来说就是把前面的内容连接上后面的内容跟JS中的+一样效果 ## 三元运算符 三元运算符:条件判断 ? 真 : 假 `三元就相当于是if的简写` PHP7新增null运算`??`相当于是三元的简写版。 ``` 10>1 ? '大于' : '不大于'; ``` ## 特殊运算符 特殊运算符:@ 作用:将其放置在一个 PHP 表达式之前,该表达式可能产生的任何错误(`除语法错误外`)信息都被忽略掉,注意:@运算符只对表达式生效,可以把它放在变量、常量、函数调用之前。不能把它放在函数或类的定义之前 ## 运算符优先级 ![](https://box.kancloud.cn/2c18dd25ff3e2fb17cb6d1333f430466_983x535.png)