1、@ 错误运算符:当将其放置在一个运算表达式前面,该表达式可能产生的任何错误信息都被忽略掉。
2、运算符优先级:递增/递减 > ! > 算术运算符 > 大小比较运算符 > (不)等于比较 >逻辑与 && > 逻辑或 || > 三元运算符 > 赋值= > and > or
3、==与===的区别:===对比两者的数值与类型完全一致
4、等值判断,注意false的七种情况,比如 '' == 0 是真,0.0 == 0 也是真。
5、递增/递减运算符不影响布尔值,true++仍是true,false++仍是false
6、递减NULL值没有影响,递增NULL值变为1
7、逻辑运算符
短路作用:在逻辑运算符中会出现短路作用。
$a = true || $b = 1; //这里由于是逻辑或,返回 $a = true,不会执行 $b = 1
$a = false && $b = 1; //由于是逻辑与,返回 $a = false,不会执行 $b = 1
真题测试:
$a = 0; $b = 0; if ($a = 3 > 0 || $b = 3 > 0){ //考虑到优先级,这里就是($a = ((3 > 0) || $b = 3 > 0) 短路作用,||后面的运算不执行,$b不会被赋值 $a++; $b++; echo $a; //输出 1 echo $b; //输出 1 }