含义
就是对数据进行某种所需要的运算的语法符号,比如加减乘除,或比较大小,或判断***。
按参与运算的数值个数来划分
单目运算
只需要一个数值,必须是变量。
双目运算
需要两个数据——可以是变量,也可以直接的数据本身。
三目运算
需要3个数据才能运算,也称为三目运算符。
只有一个三元运算符。
按功能来划分
赋值运算符
将“=”右边的值(计算结果)赋值给右边的变量。$v1 = 100l;
$v2 = 10;
$v3 = $v1+$v2;
注意:右边必须是变量,有且仅有一个变量。
算术运算符
针对数字进行的运算。包含 +、-、*、/、%
注意:如果不是数字,则会自动转换成数字再进行计算。$num = 12 + '12' // 字符串转成数字
$num = 12 + '12abc' // 24
$num = '1.0ab'+ '12' //13.0
$num = 12 + true // 13
$num = 12 + 'true' // 12
$num = 'ab' + 'cd' // 0
对数字进行取余操作,必须两边都是整数,如果不是整数,则要转换成整数。$v1 = 13.6;
$v2 = 3;
$v3 = $v1 % $v2 // $v1会直接舍去小数部分,13 % 3 = 1;
计算如果两边有一个浮点数,则计算结果也是浮点数。
连接运算符
用 . 将这边的字符串连接起来。
如果不是字符串,则会转化为字符串。$c = 'ab' . 'bc' // abbc
$c = '12ab'. 12 // 12ab12
$c = '12'.false // false 会转化为空字符。 所以为 12
$c = '12'.true // true 会转化为‘1’,所以为 '121'
$c = 12 . 13 // 1213
任何数据遇到 . 都会变成字符串结果。
自赋值运算符
+= -= *= /= %= .=
$a +=$b 即 $a = $a + $b;
自操作运算符
只有两个 ++、--
前置++或前置-- ++$a ; --$b;
后置++或后置-- $a++; $b++;
注意:后置的先取值,后自增。
前置的先自增,后取值。$a = 1;
$b = 1;
$c = $a++ + ++$b; // $c = 3; $a = $b = 2;
$b = ++$a + ++$b; // $c = 6; $a = $b = 3;
比较运算符
< 、 >、 <=、 >= 、 ==、 != 、 ===、 !==
对数字进行大小比较。其结果只有两个值 true 和 false。
如果不是数字,则会转换成数字进行比较。1 == '1' //true
1 == false // false
逻辑运算符
与(&&) 或(||) 非(!)
短路运算
就是与和或运算。使用时将简单的运算放在前面。
条件运算符
只有一个条件运算符,形式为:
表达式1 ? 表达式2 :表达式3
含义:如果表达式1为true(或自动转换后为true),则运算的结果值为表达式2,否则为表达式3。
错误抑制符@
含义:在一个表达式出现错误的时候,可以将错误“隐藏”(掩盖)起来(不输出)!
通常,该符号,用于在实际运行环境中的一些条件非我们(程序员)所能控制的情形。
如果出现该情形并报错,则我们可以抑制该错误的显示(只是该错误不显示,不是没有错误了)。
运算符的优先级
运算符优先级不得不说的规则:
1,时刻意识到,运算符有优先级问题!
2,小括号可以改变运算的顺序(即括号最优先)
3,先乘除(以及取余)后加减;
4,大致有如此优先级规则:算术运算 > 比较运算 > 逻辑运算
5,赋值运算符通常都是最后(优先级最低)
细致的可以看手册。