谈论一下运算符的“多变”

运算符考察点

  • 1.错误运算符@: @在一个表达式之前 该表达式产生的所有错误都被忽略掉
  • 2.运算符的优先级:
    • 递增、递减 > ! > 算数运算符 > 大小比较 > (不)等比较 > 引用 > 位运算符(^) > 位运算符(|) > 逻辑与 > 逻辑或 > 三目 > 赋值 > and > xor > or
  • 3.比较运算符
    == 和 ===区别
    等值判断(false的其中情况:0 0.0 ‘’ ‘0’ false null array() )
  • 4. 递增、递减运算符
    • 递增、递减运算符不影响布尔值
    • 理解true++ 还是true false–还是false
    • 递减NULL值没有效果 但是 递增NULL变1
    • 在前的递增递减 –a ++b 先运算后返回
    • 再后的递增递减 a– b++ 先返回在运算
  • 5.逻辑运算符的短路作用
    • $a =true || $b ==3 ; 前面成立 后面被短路
    • $b= false && $a ==1; 前面是false 后面不执行
      ||和&& 与 or and 的优先级不同
      如题:
      $a = false || true;
      $b= false or true;
      $a $b 分别是什么?
      解答: 首先优先级排序 || > = > or
      $a = false || true; 先做 false || true 得到true 赋值给$a
      $b= false or true; 先做$b的赋值操作。 则 $b = false
 下列程序中 请写出打印结果
 * $a = 0;
 * $b = 0;
 * if($a = 3 > 0 || $b = 3 > 0)
 * {
 *      $a++;
 *      $b++;
 *      echo $a."\n";
 *      echo $b."\n";
 * }
 * 解答:
 *  运算优先级排序: '>'  > '||'  > '='

猜你喜欢

转载自blog.csdn.net/qq_17040587/article/details/81985007