zoukankan      html  css  js  c++  java
  • PHP常用运算符优先级表

    结合方向

    运算符

    描述

    说明

    clone new

    clone new

      

      

    其他

    [ ]

    其他

      

      

    ++ -- () ~ int

    float string arrayobjectbool @

    类型和递增、递减、错误抑制

      

    !

    逻辑运算符

      

      

    • / %

    算术运算符

      

      

    + - .

    算术运算符和字符串运算符

      

      

    << 左移 >> 右移

    位运算符

      

      

    == != === !== < > A <>B 不等运算符有两种写法

    比较运算符

      

      

    &

    按位与

    位运算符和引用

      

      

    ^

    按位异或

    位运算符

      

      

    |

    按位或

    位运算符

      

      

    &&

    逻辑与

    逻辑运算符

      

      

    ||

    逻辑或

    逻辑运算符

      

      

    ? :

    三元运算符

      

    = += -= *= /= .= %= &= |= ^= <<= >>= =>

    赋值运算符

      

      

    and

    (按位与)

    逻辑运算符()

    $a & $b

    将把 $a 和 $b 中都为 1 的位设为 1。

    xor

    (按位异或)

    逻辑运算符(异或)

      

      

    or (按位或)

    逻辑运算符(或)

      

      

    ,

      

      

       

       

       

    运算符分类:三大类

       

       

    单目运算符

       

    ++--!~位运算(按位非)

       

       

    双目运算符

       

    + - * / % > < ==

       

       

       

    三目运算符

    ? :

       

       

       

       

       

       

    容易混淆的运算符口诀:

       

    先乘除加减比较逻辑跟着算,非子来了最优先!

       

    也就是优先级:!(非) > 数学类 > 比较类 > 逻辑类

       

    运算符考虑思想:

       

    1优先级2结合方向 3、特例 4BUG 5、不同类型运算间的转换

       

    未明确优先级别的运算符:

       

    类型检查 instanceof 示例: objA instanceof A

       

       

    其他说明:

    运算符与操作数的各种结合情况异常复杂,特殊的案例结果不可预知,无法完全记忆。为了避免特性及BUG

       

    的发生,书写时要求逻辑清晰,操作数配合运算符要尽量有意义。

       

       

    以下的特性或bug注意避免其出现就行,以下是示意代码

    <?php

    $a =1 ;

    $b = $a + $a +$a=2;

    //4=1+1+2

    // 结果$b是多少?

    ?>

       

       

    特例中的编程思想:

    一个有歧义或多种可能运算中,优先按正常顺序尝试进行,如果不行再改变方案。

       

    <?php

    $a =1 ;

    $b = &$a;

    $c = ++ $a + $a ++;

    // 结果$c是多少?

    ?>

  • 相关阅读:
    数据库客户端工具Oracle SQL Developer
    Win7系统下搭建FTP
    Apache 中httpd.conf文件配置详解(转载)
    Apache启动报错Address already in use: make_sock: could not bind to...
    QTP如何准确识别Dialog中的对象
    【Apache系列】linux下Apache的常用操作
    【Apache系列】Windows下作为应用程序运行Apache
    【QTP专题】05_参数化之Excel
    CSS伪类before,after制作左右横线中间文字效果
    干货!所有常用的原型设计工具都在这里了
  • 原文地址:https://www.cnblogs.com/lison-note/p/7482696.html
Copyright © 2011-2022 走看看