美文网首页程序员
PHP | 运算符 知识梳理与运用实例

PHP | 运算符 知识梳理与运用实例

作者: 凌川江雪 | 来源:发表于2019-01-30 23:51 被阅读45次
    • PHP运算符一般分为算术运算符、赋值运算符、比较运算符、三元运算符、逻辑运算符、字符串连接运算符、错误控制运算符。

    1. PHP中的算术运算符

    • 在PHP中的常用的算术运算符对应下表:

      demo:

    <?php 
    $english = 110; //英语成绩
    $math= 118; //数学成绩
    $biological = 80; //生物成绩
    $physical = 90; //物理成绩
    
    $sum = $english+$math+$biological+$physical;
    $avg = $sum / 4;
    $x = $math - $english;
    $x2 = $english * $english;
    
    echo "总分:".$sum."<br />";
    echo "平均分:".$avg."<br />";
    echo "数学比英语高的分数:".$x."<br />";
    echo "英语成绩的平方:".$x2."<br />";
    

    运算结果:

    总分:398
    平均分:99.5
    数学比英语高的分数:8
    英语成绩的平方:12100
    



    2. PHP中的赋值运算符

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

    • =:把右边表达式的值赋给左边的运算数
      即,将右边表达式值复制一份,交给左边的运算数;
      换而言之,首先给左边的运算数申请一块内存,然后把复制的值放到这个内存中

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

    demo:

    <?php 
        $a = "东边日出西边雨,";
        $b = $a;
        $c = &$a;
        $a = "道是无晴却有晴。";
        
        echo $b."<br />";
        echo $c."<br />";
    ?>
    

    运行结果:

    东边日出西边雨,
    道是无晴却有晴。
    



    3. PHP中的比较运算符

    比较运算符主要是用于进行比较运算的,在PHP中常用的比较运算符如下表:

    demo:

    <?php  
        $a = 1;
        $b = "1";
        echo "1.<br />";
        var_dump($a == $b);
        echo "2.<br />";
        var_dump($a === $b);
        echo "3.<br />";
        var_dump($a != $b);
        echo "4.<br />";
        var_dump($a <> $b);
        echo "5.<br />";
        var_dump($a !== $b);
        $q = 1;
        echo "5.0"."<br />";
        var_dump($a !== $q);//“全等”就不是“不全等”了
        echo "6.<br />";
        var_dump($a < $b);
        echo "7.<br />";
    
        $c = 5;
        var_dump($a < $c);
        echo "8.<br />";
        var_dump($a > $c);
        echo "9.<br />";
        var_dump($a <= $c);
        echo "10.<br />";
        var_dump($a >= $c);
        echo "11.<br />";
        var_dump($a >= $b);
        echo "<br />";
    ?>
    

    运行结果:

    1.
    bool(true)
    2.
    bool(false)
    3.
    bool(false)
    4.
    bool(false)
    5.
    bool(true)
    5.0
    bool(false)
    6.
    bool(false)
    7.
    bool(true)
    8.
    bool(false)
    9.
    bool(true)
    10.
    bool(false)
    11.
    bool(true)
    



    4. PHP中的三元运算符

    demo

    <?php 
        $a = 134;//成绩
        $b = $a >= 90 ? "及格": "不及格"; 
        echo $b;
    ?>
    

    运行结果:

    及格
    



    5. PHP中的逻辑运算符

    逻辑运算符主用是进行逻辑运算的,在PHP中常用的逻辑运算符如下表:

    这里可以假设一个头投票场景来加深理解逻辑运算:
    (假设投票同意为1,不同意为0,
    我们把所有人投票的结果都用下列某一个逻辑运算串联起来,
    其最终结果为1则通过某协议,否则不通过)
    1、逻辑与:要求所有人都投票同意,才会通过某协议;
    2、逻辑或:只要求一个人投票同意就行;
    3、逻辑异或:投票同意的人数是单数;
    4、逻辑非:某个人要反对,但是通过逻辑非,使其反对无效;反之如果他投同意票,则视之为反对;

    • “与”和“或”的两种不同形式的运算符其优先级不同。

    demo:

    <?php 
        $a = TRUE; //A同意
        $b = TRUE; //B同意
        $c = FALSE; //C反对
        $d = FALSE; //D反对
    
        echo ($a and $b)?"通过":"不通过";
        echo "<br />";
        echo ($a or $c)?"通过":"不通过";
        echo "<br />";
        echo ($a xor $c xor $d)?"通过":"不通过";
        echo "<br />";
        echo !$c?"通过":"不通过";
        echo "<br />";
        echo $a && $d ?"通过":"不通过";
        echo "<br />";
        echo $b || $c || $d ?"通过":"不通过";
    ?>
    

    运行结果:

    通过
    通过
    通过
    通过
    不通过
    通过
    



    6. PHP中的字符串连接运算符

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

    • 连接运算符(.):它返回将右参数附加到左参数后面所得的字符串。
    • 连接赋值运算符(.=):它将右边参数附加到左边的参数后。(其实类似于+=等运算符机制)

    demo:

    <?php 
        $a = "此情可待成追忆";
        $tip = $a.",只是当时已惘然。";
        
        $b = "东边日出西边雨"; 
        $b .= ",道是无晴却有晴。";
        
        $c = "东边日出西边雨"; 
        $c = $c. ",道是无晴却有晴。";
        
        echo  $tip."<br />";
        echo  $b."<br />";
        echo  $c."<br />";
    ?>
    

    运行结果:

    此情可待成追忆,只是当时已惘然。
    东边日出西边雨,道是无晴却有晴。
    东边日出西边雨,道是无晴却有晴。
    



    7. PHP中的错误控制运算符

    • PHP中提供了一个错误控制运算符“@”,
      对于一些可能会在运行过程中出错的表达式时,我们不希望出错的时候给客户显示错误信息,这样对用户不友好。
      于是,可以将@放置在一个PHP表达式之前该表达式可能产生的任何错误信息都被忽略掉

    如果激活了track_error(这个玩意在php.ini中设置)特性,
    表达式所产生的任何错误信息都被存放在变量$php_errormsg中,
    此变量在每次出错时都会被覆盖,所以如果想用它的话必须尽早检查```。

    另外注意,错误控制前缀@不会屏蔽解析错误的信息
    不能把它放在函数或类的定义之前,也不能用于条件结构例如if和foreach等。

    demo:

    <?php  
        $conn = @mysql_connect("localhost","username","password");
        echo "出错了,错误原因是:".$php_errormsg;
    ?>
    
    参考运行结果:



    8. 取模运算的一个实例

    假设我们要在一个考场安排了一场考试,对考生从1开始,都进行了编号,可以借助取模运算让服务器帮助我们计算考生在的位置呢,进而打印考场的考生对照表;
    代码如下:

    <?php 
         $maxLine = 4; //每排人数
         $no = 17;//学生编号
         $line = ceil($no/$maxline);//ceil() 返回大于或者等于指定表达式的最小整数
         $row = $no%$maxLine?$no%$maxLine:$maxLine;
        
    
         echo "编号<b>".$no."</b>的座位在第<b>".$line."</b>排第<b>".$row."</b>个位置";
    ?>
    

    运行结果:

    编号17的座位在第0排第1个位置
    

    参考资料(慕课网)

    相关文章

      网友评论

        本文标题:PHP | 运算符 知识梳理与运用实例

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