php运算符

luckymaoyy 2020-02-18

PHP的运算符的错误控制符@的使用及其作用

php支持一个错误控制符:@。当将其放置在一个PHP表达式之前,该表达式可能产生的任何错误信息都被忽略掉。

PHP运算符优先级(从高到低)

  • 递增 / 递减
  • !
  • 算术运算符
  • 大小比较
  • (不)相等比较
  • 引用
  • 位运算符(^)
  • 位运算符(|)
  • 逻辑与
  • 逻辑或
  • 三目
  • 赋值
  • and
  • xor
  • or

注:括号的使用可以增加代码可读性,推荐使用

比较运算符:== 和 ===的区别

== 比较值是否相等; === 比较值是否相等,类型是否相同。
等值判断(FALSE的七种情况)
if (’== false’) {
echo ‘’;
} elseif (‘0’ == 0) {
echo ‘’;
} elseif (0.0 == 0) {
echo ‘’;
}


注:FALSE的七种情况都满足:

整型 0
浮点型 0.0
零字符串 ‘0’
空字符串 ‘’ "
空数组 array()
null
布尔型 false

递增/递减运算符

递增/递减运算符不影响布尔值;
true++; // true
true–; // true
false++ ; // false
false–; // false
递减NULL值没有效果;递增NULL值为1;
NULL–; // NULL
NULL++; // 1
递增和递减在前,就先运算,后返回;反之就先返回,后运算


逻辑运算符

① 短路作用

1.$a = true || $b == 3; // 前面是 true,后面不会执行【|| : 一真为真】
2.$b = false && $a == 1; // 前面是 false,后面不会执行【&&:一假为假】


② || 和 && 与 or 和 and 的优先级不同

1.// 先执行 false || true,得到 true,再赋值给 $a
2.$a = false || true; // $a = true;

3.// 先执行 $b = false,整体为 true,则 $b的值为 false
4.$b = false or true; // $b = false;

二. 解题方法
重点记忆:递增/递减运算符的运算规则,逻辑运算符的 短路效果,在看到逻辑运算符要多考虑 优先级 问题。


三. 真题
下列程序中,请写出打印输出的结果:
$a = 0;
$b = 0;

if ($a = 3 > 0 || $b = 3 > 0) {
$a++;
$b++;
echo $a."\n";
echo $b."\n";
}
分析:

1)优先级问题:(从大到小)
>
||
=


2)执行顺序
3 > 0; // true
(3>0) || $b = 3 > 0; // true ($b = 3 > 0 不执行)
$a = true;
$b = 0;


3) 递增运算
$a++; // $a = true; true++; => true
$b++; // $b = 0; 0++; => 1
运算结果:

$a = true;
$b = 1;
————————————————
原文链接:https://blog.csdn.net/studyphp123/article/details/83450873

相关推荐

qscool / 0评论 2020-01-24

crqzcbk / 0评论 2019-04-04