简单运算符
定义:对一个或多个的变量或者数值,执行某种操作的符号,也称操作符。
PHP语言的运算符有许多种,我此次只记录+,—,*,/,%,++,— —,七种。
此运算符与c语言运算符极其相似。
"+",号符
将两个同类型的变量进行相加
如下图
"-",号符
将两个同类型的变量进行相减
"*"号符
将两同类型变量相乘
"%"取余符
将两变量相除,取余
"/"除号
将两数相除
++符
++符号分为前++和后++
可将++符视为先输出后自增
++$a;=$a=$a+1和echo $a
$a++;=echo $a;和$a=$a+1
–符号和++符使用方法差不多,,但是–符是自减
字符串链接运算符
符号形式为**.**
也可以直接粘贴字符串
赋值运算符
注意;赋值运算符是有值的,所以整个语句都是一个表达式,所以也可以这么写
a = a= a=b=2;
形式:=,+=,-=,*=,/= %=,.=
将右边的值赋给左边的值
例如
以此类推,双赋值运算符的运行方式都差不多
比较运算符
(PHP规定,输出bool类型时,ture是1,flase什么也不输出)
所以当我们需要输出bool类型的值的时候,可以使用var_dump()函数
对操作数进行一个符合此比较运算符规则的比较
如果比较出来的结果满足比较运算符的要求,那么结果就是true否则就是false
1,比较两边值是否相等
相等的时候输出1,不相等的时候没有输出 输出
2,=(全等)(数值,类型都要相等)
**=与**的区别就在上图
由上图可以看到,需要类型和数值都相同,才能全等
3.**!=**不相等
如果两个值不相等输出ture 相等输出false
并且不针对类型,只针对数值。
4.**<>=也是不相等的意思,同上
5.!==不全等
如果两数全等输出flase(意思就是什么也不输出)
如果两数不全等输出ture(输出1)
·6.<,<=,>,>=**这些运算符,我们都比较熟悉,就不一一记录了
如果符合运算符的条件,则输出ture,不符合输出false
逻辑运算符
此运算符和比较运算符得到的结果是相同的,如果符合要求就是ture,不符合要求就是false
参与逻辑也能算的值必须是bool类型的值,如果不是也会被PHP语言进行自动转换
可参考数学中的或,与,非
- (逻辑与运算符)
形式 and或者&&
左右两边的表达式的值都为ture的时候,运算结果就是true
只要有一个false,得到的结果就是false
2.(逻辑或运算符)
形式 or或者||
左右两边的表达式,只要有一个值为徒惹,运算的结果就是ture,只有当两边的值都是false的时候,结果才是false
3.(逻辑异或)
形式:xor
左右两边的值不一样的时候结果就是true,如果一样,那么结果就是false
4.(逻辑非)
形式**!**
将原来的表达式的值否定掉
位运算符(所用极少,不进行记录)
用于对操作数中每一个二级制位进行运算,由于PHP主要用于网站开发啊1方面,所以位运算所用较少(没错,这里是我在水字数)
其他运算符
1.(? :)
三元运算符
格式:
表达式1 ?表达式2:表达式3;
意思:
如果表达式1的值为ture,那么就执行表达式2,否则执行表达式3
如上图所示
2.(``)
可以把系统的命令放在里面执行,但是使用极少,所以不过多记录
3.(@)
屏蔽表达式可能发生的错误
放在表达式的前面
4,(=>,->,instanceot)
需要数组知识和面向对象知识,不过多记录
运算符的优先级
一些简单的优先级运算符
优先级的概念;
谁的优先级别高就先算谁
结合方向;
规定从左往右算还是从右往左算
越高优先级越高,右为从右往左算,左为从左往右算,无是想怎么算怎么算
括号的作用:
括号里面的东西将被视作为一个整体。
短路问题
当在进行逻辑运算的时候,如果观察前半就能判断出结果,那么后半段是不予运算的
如上图所示
当 a 为 f a l s e , 已 经 可 以 判 断 出 a为false,已经可以判断出 a为false,已经可以判断出a&&++ b , 那 么 + + b,那么++ b,那么++b的运算就会不予运算
同理,或,非,都是