运算符是用来对变量,常量或者数据进行计算的符号。php运算符包括算术运算符、字符串运算符、赋值运算符、位运算符、逻辑运算符、比较运算符、递增或递减运算符、错误控制运算符等等。
一、算术运算符
算术运算符是处理算式运算的符号。符号有“+”“-”“*”“/”“%”(取余数运算)“++”(递增运算)“–”(递减运算)“**”(求幂值,$a的$b次方的值)
%是求余,如果被除数是负数,那么取得的结果也是一个负数。
$a++,$a– 后置递增/递减运算符,先返回变量的当前值,然后再将变量的值增加或者减少1。
++$a,–$a 前置递增/递减运算符,先将变量的值增加或者减少1,然后将值赋值给原变量。
+$a $a的正值,或者将$a转换为int 或者float
-$a $a 的负值。
二、字符串运算符
字符串运算符只有一个就是英文的句号“.”。作用就是将两个字符串连接起来,组成一个新的字符串。其他语言可以使用“+”来连接,但php也只能当做算术运算符使用。所以“+”如果两边是字符类型,会自动转换为整型,如果是字母的,则会输出0。如果是以数字开头的字符串,则会截取字符串头部的数字再进行运算。
三、赋值运算符
赋值运算符把基本赋值运算符“=”右边的值赋给左边的变量或者常量。扩展出来的符号有“=”,“+=”,“-=”,“*=”,“/=”,“.=”(连接字符,相当于$a=$a.b),“%=”(取余数)
四、位运算符
位运算符是指对二进制位从低位到高位对齐后进行运算。符号有:“&”(按位与),“|”(按位或),“^”(按位异或),“~”(按位取反),“<<”(向左移位)、“>>”(向右移位)
$a & $b:将把$a,$b中都为1的位设为1
$a| $b:将把$a,$b中任何一个为1的位设为1
$a^ $b:将把$a,$b中一个为1另一个为0的为位设置为1
~ $a:将$a中为0的位设置为1,反之设置0
$a<< $b:将$a中的位向左移动$b次(每移动一次表示乘以2)
$a>> $b:将$b 中的位向右移动$b次(每移动一次表示除以2)
位移在 PHP 中是数学运算。向任何方向移出去的位都被丢弃。左移时右侧以零填充,符号位被移走意味着正负号不被保留。右移时左侧以符号位填充,意味着正负号被保留。
五、逻辑运算符
逻辑运算符是用来组合逻辑运算的结果。符号有“&&或者and”(逻辑与),“||或者or”(逻辑或),“xor”(逻辑异或),“!”(逻辑非)
&&:当两边都是真的时候,结果是真,否则结果是假
||:当两边有一个是真的时候,结果就是真,否则都为假的时候结果是假
xor:当两边是一真一假的时候,结果为真。但不同时是
!:当参数是假的时候,结果为真
注意:&&、and和 ||、or 的同一个逻辑结构的两个运算符优先级是不一样的。
六、比较运算符
比较运算符就是对变量或者表达式的结果进行大小、真假等比较,如果比较结果是真的,返回true,如果是假的,返回false。符号有“>”,“<”,“>=”,“<=”,“==”,“!=”,“<>”(不等),“===”(恒等),“!==”(非恒等),“<=>”(组合比较符,太空运算符)
$a===$b 说明$a 和 $b 不只是数值上相等,而且两者的类型也要一样。
$a!==$b 说明$a 和 $b 或者数值不相等,或者类型不相等。
$a<=>$b 当$a小于、等于、大于 $b时 分别返回一个小于、等于、大于0的 int 值。
七、错误控制运算符
错误控制运算符可以对程序中出现错误的表达式进行操作,进而对错误信息进行屏蔽。使用的方法是错误的表达式前面加上@。@只是对不必要的,不影响程序运行的错误信息进行屏蔽,并没有真正解决错误。而对影响程序运行时就不推荐使用。如:$a=5/0 这个会出现一个警告信息,如果不想显示这个错误,就可以在表达式前面加上@。$a=@(5/0)
八、三元运算符/三目运算符
三元运算符左右是根据一个表达式在另外两个表达式选择一个,而不是用来在两个语句或者程序中选择。三元运算符最好放在括号中使用。
如:$a=100; echo ($a==true)?”aa”:”bb”; 输出结果是aa
九、运算符的优先顺序和结合规则
运算符在运算中遵循的规则是:优先级高的操作先执行,优先级低的后执行,同一个优先级的操作按照从左到右的顺序进行。有小括号的,括号内的最先执行。
级别为1的运算符:or、and、xor
级别为2的运算符:赋值运算符
级别为3的运算符:||、&&
级别为4的运算符:|、^
级别为5的运算符:&、.
级别为6的运算符:+、-
级别为7的运算符:/、*、%
级别为8的运算符:<<、>>
级别为9的运算符:++、–
级别为10的运算符:+、-(正负运算符)、!、~
级别为11的运算符:==、!=、<>
级别为12的运算符:<、<=、>、>=
级别为13的运算符:?:
级别为14的运算符:–>
级别为15的运算符:=>
PHP表达式
表达式是构成php程序语言的基本元素,也是重要的组成元素。如$a=20; 就是表示将值20赋值给变量 $a。 $b=$a=5; 变量$b和$a的都被赋值5。
PHP语句
一个表达式加上一个分号就形成了一条php语句。
下节预告:自定义函数