运算符
运算符:对一个或者多个操作数(变量或者数值)执行某种运算的符号,也称操作符,这些符合可以将变量或者数据执行某种运算
根据操作数的个数分为一元运算符、二元运算符、三元运算符
! true;//一元运算符,!是运算符、true是操作数
$a+$b;//二元运算符,+是运算符、$a,$b是操作数
true ? 1:0;//三元运算符,?和:是运算符、true,1,0是操作数
1.算术运算符
有如下几种运算符
+ - * / % ++ --
代表的意义
注:前加、前减和后加、后减的区别是先加减还是先返回,且都是对变量而言的,数字不能自曾自减
2.字符串运算符
字符串运算符只有一个英文的句号.
,也叫连接运算符
如:
$a='yy';
$b='ds';
$c=$a.$b;//输出结果就是:yyds
3.赋值运算符
赋值运算符,二元运算符
= += -+ *= /+ %= .=
左边的操作数必须是变量,右边可以是一个表达式,也可以是一个值,一个变量
作用:将右边表达式的值赋给左边变量
注:表达式是PHP最重要的基石。在PHP中,几乎所写的任何东西都是一个表达式。简单但却最精确的定义一个表达式的方式就是“任何有值的东西”
=:$a=1;//赋值符
+=:$a+=$b;//$a=$a+%b
-=:$a-=&b;//$a=$a-$b
*=:$a*=$b;//$a=$a*$b;
/=:$a/=$b;//$a=$a/$b;
%=:$a%=$b;//$a=$a%$b;
.=:$a.=$b;//$a=$a.$b;
4. 比较运算符
比较运算符,二元运算符如下图
注:对操作数(按照比较运算符的要求)进行比较,如果比较出的结果满足比较运算符的要求那么结果就是true(真,成立,满足),否则就是false(假,不成立,不满足)
==:值是否相等
===:全等(值相等,类型也是要相等)
!=:值是否不相等<>:值是否不相等(不相等,可以是值也可以是类型)
!==:值是否不全等
<:比较前面是否小于后面
>:比较前面是否大于后面
<=:比较前面是否小于等于后面
>=比较前面是否大于等于后面
注:PHP中规定:使用echo输出布尔类型值的时候,echo true;它在页面中会输出1、echo false;它会在页面中什么都不输出
5.逻辑运算符
逻辑运算符:对表达式进行逻辑运算,运算出的结果是布尔类型的值(true,false)
注:参与逻辑运算的表达式的值是布尔类型的值,如果不是布尔类型的值会被自动转换成布尔类型的值,然后再参与运算
逻辑语(and 或者 &&):左右两边的表达式的值都为true的时候,运算的结果就是true,否则只要其中任意一个为false,运算的结果就是false;
逻辑或(or 或者 ||):左右两边的表达式的值有一个为true,运算的结果就是true,只有当两边的值都是false的时候,结果才会是false
逻辑异或(xor):左右两边的表达式的值不一样的时候结果就是true,如果一样那么运算的结果就是false
逻辑非(!):原来是false,那么结果就是true,原来是false,那么结果就是true
注:运算符的短路:逻辑与检查运算符第一个表达式是否为false,如果false直接返回false,后续的表达式直接忽略。同理,逻辑或检查运算符第一个表达式是否为true,如果是true直接返回true,后续表达式直接忽略,就会照成运算符短路
6.其他运算符
三元运算符
? :
格式:表达式1 ?表达式2 :表达式3;
如果表达式1的值为true,那么就执行表达式2,否则那么就执行表达式
如:
$a=false ? 10 : 20;
echo $a; //输出结果为20
@
作用:屏蔽表达式可能发生的错误,如果我们的代码有错误或警告时,为了不让用户看见,可以用这个把可能错误的代码屏蔽
7. 运算符的优先级
优先级的概念:谁的优先级别高就先算谁!
结合方向:规定了从那个方向开始算的问题!
见下图:
注:左表示表达式从左向右求值,右相反,无就是没有方向
圆括号的作用:用圆括号可以将表达式里面的某一块看出一个整体,增加代码的可读性