zoukankan      html  css  js  c++  java
  • php学习----运算符

    PHP

    1、运算符

    加减乘除与数学运算无异

    但PHP的赋值运算符有两种,分别是:

    (1)“=”:把右边表达式的值赋给左边的运算数。它将右边表达式值复制一份,交给左边的运算数。换而言之,首先给左边的运算数申请了一块内存,然后把复制的值放到这个内存中。

    (2)“&”:引用赋值,意味着两个变量都指向同一个数据。它将使两个变量共享一块内存,如果这个内存存储的数据变了,那么两个变量的值都会发生变化。

    比较运算符主要是用于进行比较运算的,例如:等于、全等、不等、大于、小于。在PHP中常用的比较运算符如下表:

    (“?:”)三元运算符也是一个比较运算符,对于表达式(expr1)?(expr2):(expr3),如果expr1的值为true,则此表达式的值为expr2,否则为expr3。

    逻辑运算符主用是进行逻辑运算的,例如:逻辑与、逻辑或、逻辑异或、逻辑非等,在PHP中常用的逻辑运算符如下表:(点击看大图)

    我们可以从投票的角度来理解逻辑运算:

    1、逻辑与:要求所有人都投票同意,才会通过某协议;

    2、逻辑或:只要求一个人投票同意就行;

    3、逻辑异或:只能有且只能有一个人投票同意;

    4、逻辑非:某个人要反对,但是通过逻辑非,使其反对无效;

    “与”和“或”有两种不同形式运算符的原因是它们运算的优先级(就是运算的有限顺序,比如我们小学的时候学习四则运算,加减乘除混合在一起啦,优先计算乘除,再计算加减)不同。

    字符串连接运算符是为了将两个字符串进行连接,PHP中提供的字符串连接运算符有:

    (1)连接运算符(“.”):它返回将右参数附加到左参数后面所得的字符串。

    (2)连接赋值运算符(“.=”):它将右边参数附加到左边的参数后。

    运算符优先级

    下表按照优先级从高到低列出了运算符。同一行中的运算符具有相同优先级,此时它们的结合方向决定求值顺序。

    说明:左 = 从左到右,右 = 从右到左。

    结合方向 运算符 附加信息
    clone new clone 和 new
    [ array()
    ++ -- ~ (int) (float) (string) (array) (object) (bool) @ 类型和递增/递减
    instanceof 类型
    ! 逻辑运算符
    * / % 算术运算符
    + – . 算术运算符和字符串运算符
    << >> 位运算符
    == != = ! <> 比较运算符
    & 位运算符和引用
    ^ 位运算符
    | 位运算符
    && 逻辑运算符
    || 逻辑运算符
    ? : 三元运算符
    = += -= *= /= .= %= &= |= ^= <<= >>= => 赋值运算符
    and 逻辑运算符
    xor 逻辑运算符
    or 逻辑运算符
    , 多处用到

    运算符优先级中,or 和 ||,&& 和 and 都是逻辑运算符,效果一样,但是其优先级却不一样。

    实例

    <?php // 优先级: && > = > and // 优先级: || > = > or ​b = false; ​a or ​c); // 这里的 为值,而不是值​d = ​b; var_dump(这里的​d 就是 boolean 值 true ?>

    以上实例输出结果为:

    int(3)
    bool(true)

    括号的使用

    我们通过括号的配对来明确标明运算顺序,而非靠运算符优先级和结合性来决定,通常能够增加代码的可读性。

    实例

    <?php // 括号优先运算 ​b = 2; ​d = ​b * ​d; echo " "; ​a + ​c; // 使用括号 echo $e; echo " "; ?>

    以上实例输出结果为:

    7
    9
  • 相关阅读:
    对各种语言的运行时系统的思考
    在Ipython console运行shell命令
    浪潮之巅第四版
    Python实现BSC信道
    一款超赞的英文翻译工具-CopyTranslator
    Python处理alist文件——稀疏矩阵的读取和存储
    Numpy/Scipy 中与Matlab中的sparse函数等效的操作——Python处理稀疏矩阵
    简单优先分析法
    蓝桥杯 矩阵乘法
    蓝桥杯 Island Hopping Java代码
  • 原文地址:https://www.cnblogs.com/zw1sh/p/10181465.html
Copyright © 2011-2022 走看看