zoukankan      html  css  js  c++  java
  • PHP学习心得(八)——运算符

    运算符是可以通过给出的一或多个值(用编程行话来说,表达式)来产生另一个值(因而整个结构成为一个表达式)的东西。所以可以认为函数或任何会返回一个值(例如 print)的结构是运算符,而那些没有返回值的(例如 echo)是别的东西。

    有三种类型的运算符。第一种是一元运算符,只运算一个值,例如 !(取反运算符)或 ++(加一运算符)。第二种是有限二元运算符,PHP 支持的大多数运算符都是这种。列表见下节运算符优先级

    第三种是三元运算符:?:。它应该被用来根据一个表达式在另两个表达式中选择一个,而不是用来在两个语句或者程序路线中选择。把整个三元表达式放在扩号里是个很好的主意。

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

    左联表示表达式从左向右求值,右联相反。使用括号可以增强代码的可读性。

    除法运算符总是返回浮点数。只有在下列情况例外:两个操作数都是整数(或字符串转换成的整数)并且正好能整除,这时它返回一个整数。

    取模运算符的操作数在运算之前都会转换成整数(除去小数部分)。

    位运算符
    例子名称结果
    $a & $b And(按位与) 将把 $a 和 $b 中都为 1 的位设为 1。
    $a | $b Or(按位或) 将把 $a 或者 $b 中为 1 的位设为 1。
    $a ^ $b Xor(按位异或) 将把 $a 和 $b 中不同的位设为 1。
    ~ $a Not(按位非) 将 $a 中为 0 的位设为 1,反之亦然。
    $a << $b Shift left(左移) 将 $a 中的位向左移动 $b 次(每一次移动都表示“乘以 2”)。
    $a >> $b Shift right(右移) 将 $a 中的位向右移动 $b 次(每一次移动都表示“除以 2”)。
    比较运算符
    例子名称结果
    $a == $b 等于 TRUE,如果 $a 等于 $b。
    $a === $b 全等 TRUE,如果 $a 等于 $b,并且它们的类型也相同。(PHP 4 引进)
    $a != $b 不等 TRUE,如果 $a 不等于 $b。
    $a <> $b 不等 TRUE,如果 $a 不等于 $b。
    $a !== $b 非全等 TRUE,如果 $a 不等于 $b,或者它们的类型不同。(PHP 4 引进)
    $a < $b 小与 TRUE,如果 $a 严格小于 $b。
    $a > $b 大于 TRUE,如果 $a 严格 $b。
    $a <= $b 小于等于 TRUE,如果 $a 小于或者等于 $b。
    $a >= $b 大于等于 TRUE,如果 $a 大于或者等于 $b。

    如果比较一个整数和字符串,则字符串会被转换为整数。如果比较两个数字字符串,则作为整数比较。

  • 相关阅读:
    php stdClass转数组
    PHP 获取1970年前的时间戳,且为负
    springboot响应格式Resullt封装
    php使用elasticsearch
    day0620211207
    day0820211209
    day022021121
    day0520211206
    day0720211208
    day0320211202
  • 原文地址:https://www.cnblogs.com/wyb-cd/p/3652486.html
Copyright © 2011-2022 走看看