美文网首页
1.5 PHP运算符

1.5 PHP运算符

作者: 少年不要动 | 来源:发表于2019-03-02 17:25 被阅读0次
    1. PHP+号运算,字符串转换规则

    ① 如果字符串以数字开头且和字母(或符号)搭配,那么会舍弃字母(或符号)部分直接转换为开头的数字。例如,“24thiz”转换后得到24。
    ② 如果字符串开头加数字,那么字符串转换成整型得0。例如,“abc110”得到的是0。
    ③ 如果是数字0开头或以数字0开头和字母(或符号)搭配的字符串,那么转换时,开头的0会被舍弃。例如,“05abc”和“05”转换成数字都是得到5。

    2.字符串运算符.和算数运算符+

    .是字符串连接运算符;+为加法算数运算符,也可用于合并数组

    两个字符串使用+运算符:

    ① 如果+两边的字符串是由数字组成的,会将字符串自动转为整型
    ② 若两边是纯粹的字母,则结果为零
    ③ 若两边字符串以数字开头,则截取开头的数字进行运算

    注意:.运算符会优先执行函数,如下代码输出结果为20myfunc(10)=

    <?php
      function myfunc($argument){
        echo $argument + 10;
      }
      $variable = 10;
      echo "myfunc($variable)=".myfunc($variable);
    
    3. 递增递减运算符

    前置递增递减运算符 ++$i--$i 先执行运算再返回值
    后置递增递减运算符$i++$i-- 先返回值再执行运算

    • 前置递增递减的运行效率高于后置
    • 递增/递减 不影响布尔值
    • 递减null 没有效果
    • 递增null 为 1
    4. 逻辑运算符

    且运算符&&、或运算符||

    短路作用:

    <?php
    $a = 0;
    //此处$a 转换为false,由于短路作用 &&后面的表达式不执行
    $a &&  $a = 2;
    
    
    5. 运算符优先级

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

    建议使用()增加可读性

    6. 位运算符

    位与运算符 &$a&$b表示把$a$b中都为1的位设为1
    位或运算符 |$a|$b表示把$a$b中为1的位都设为1
    位异或运算符 ^$a^$b表示把$a$b中值不同的位设为1
    左位移运算符<<$a<<$b表示把$a中的位向左移动$b位(每移动1位代表乘以2)
    右位移运算符>>$a>>$b表示把$a中的位向右移动$b位(每移动1位代表除以2)

    相关文章

      网友评论

          本文标题:1.5 PHP运算符

          本文链接:https://www.haomeiwen.com/subject/lcweyqtx.html