从头学PHP之运算符

关于运算符的图片均来自网络,主要是自己写太麻烦了,程序是个简化自己工作量的方式,能复制粘贴就不要手写了(建议初期还是多写写,加深下记忆)在这里我就偷个懒,图片涉及到侵权及时,请通知我修改。

一、运算符

本篇文章我们将粗略的讲解在PH中不同运算符的应用主要分为几大类。

一、算术运算符

算数运算符很好理解,就是我们在小学数学中学到的加减乘除,取余,取反,设置负数,并置(连接符)

这里偷个懒(图片数据来源于网络)

代码示例

php 复制代码
<!DOCTYPE html>
<html>
    <body>
        <h1>PHP--算术运算符</h1>
        <?php
        $x=10;
        $y=6;
        echo ($x + $y); // 输出16
        echo '<br>';  // 换行
        echo ($x - $y); // 输出4
        echo '<br>';  // 换行
        echo ($x * $y); // 输出60
        echo '<br>';  // 换行
        echo ($x / $y); // 输出1.6666666666667
        echo '<br>';  // 换行
        echo ($x % $y); // 输出4
        echo '<br>';  // 换行
        echo -$x;
        ?>
    </body>
</html>

效果

二、赋值运算符

继续偷懒(图片数据来源于网络)

代码

php 复制代码
<!DOCTYPE html>
<html>
    <body>
        <h1>PHP--赋值运算符</h1>
        <?php
        $x=10;
        echo $x; // 输出10
        echo"</br>";//换行符
        $y=20;
        $y += 100;
        echo $y; // 输出120
        echo"</br>";//换行符
        $z=50;
        $z -= 25;
        echo $z; // 输出25
        echo"</br>";//换行符
        $i=5;
        $i *= 6;
        echo $i; // 输出30
        echo"</br>";//换行符
        $j=10;
        $j /= 5;
        echo $j; // 输出2
        echo"</br>";//换行符
        $k=15;
        $k %= 4;
        echo $k; // 输出3
        ?>
    </body>
</html>

效果

并置(连接符)

用于连接字符串或者变量 (两种写法)

代码片段

php 复制代码
<!DOCTYPE html>
<html>
    <body>
        <h1>PHP--赋值运算符</h1>
        <?php
        $a = "Hello";
        $b = $a . " world!";
        echo $b; // 输出Hello world!
  		echo "</br>"; // 换行符
        $x="Hello";
        $x .= " world!";
        echo $x; // 输出Hello world!
        ?>
    </body>
</html>

效果

三、递增/递减运算符

继续偷懒

代码片段

php 复制代码
<!DOCTYPE html>
<html>
    <body>
        <h1>PHP--递增/递减运算符</h1>
        <?php
        $x=10;
        echo ++$x; // 输出11
        echo "</br>"; // 换行
        $y=10;
        echo $y++; // 输出10
        echo "</br>"; // 换行
        $z=5;
        echo --$z; // 输出4
        echo "</br>"; // 换行
        $i=5;
        echo $i--; // 输出5
        ?>
    </body>
</html>

效果

四、比较运算符

代码片段

php 复制代码
<!DOCTYPE html>
<html>
    <body>
        <h1>PHP--比较运算符</h1>
        <?php
        $x=100;
        $y="100";

        var_dump($x == $y);
        echo "<br>";
        var_dump($x === $y);
        echo "<br>";
        var_dump($x != $y);
        echo "<br>";
        var_dump($x !== $y);
        echo "<br>";

        $a=50;
        $b=90;

        var_dump($a > $b);
        echo "<br>";
        var_dump($a < $b);
        ?>
    </body>
</html>

效果

五、逻辑运算符

六、数组运算符

代码片段

php 复制代码
<!DOCTYPE html>
<html>
    <body>
        <h1>PHP--数组运算符</h1>
        <?php
        $x = array("a" => "red", "b" => "green");
        $y = array("c" => "blue", "d" => "yellow");
        $z = $x + $y; // $x 和 $y 数组合并
        var_dump($z);
        echo "</br>";//换行符
        var_dump($x == $y);
        echo "</br>";//换行符
        var_dump($x === $y);
        echo "</br>";//换行符
        var_dump($x != $y);
        echo "</br>";//换行符
        var_dump($x <> $y);
        echo "</br>";//换行符
        var_dump($x !== $y);
        ?>
    </body>
</html>

效果

七、三元(三目)运算符

语法格式

php 复制代码
(expr1) ? (expr2) : (expr3) 
对 expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3。

自 PHP 5.3 起,可以省略三元运算符中间那部分。表达式 expr1 ?: expr3 在 expr1 求值为 TRUE 时返回 expr1,否则返回 expr3。

代码示例

变量$a是大熊嘛?是的则结果为拥有哆啦A梦,否则打劫大熊

php 复制代码
<!DOCTYPE html>
<html>
    <body>
        <h1>PHP--三元运算符</h1>
        <?php
        $a="大熊";
        //三元运算
        $result = $a=="大熊" ? "拥有哆啦A梦" : '打劫大熊';
        echo $result;
        ?>
    </body>
</html>

效果

组合比较符(php7.0以上版本)

PHP7+ 支持组合比较符(combined comparison operator)也称之为太空船操作符,符号为 <=>。组合比较运算符可以轻松实现两个变量的比较,当然不仅限于数值类数据的比较。

语法格式如下:

复制代码
$c = $a <=> $b;

解析如下:

  1. 如果 a \> b, 则 $c 的值为 1。
  2. 如果 a == b, 则 $c 的值为 0。
  3. 如果 a \< b, 则 $c 的值为 -1。

代码片段

php 复制代码
<!DOCTYPE html>
<html>
    <body>
        <h1>PHP--组合比较符</h1>
        <?php
        // 整型
        echo 1 <=> 1; // 0
        echo "</br>";//换行符
        echo 1 <=> 2; // -1
        echo "</br>";//换行符
        echo 2 <=> 1; // 1
        echo "</br>";//换行符

        // 浮点型
        echo 1.5 <=> 1.5; // 0
        echo "</br>";//换行符
        echo 1.5 <=> 2.5; // -1
        echo "</br>";//换行符
        echo 2.5 <=> 1.5; // 1
        echo "</br>";//换行符

        // 字符串
        echo "a" <=> "a"; // 0
        echo "</br>";//换行符
        echo "a" <=> "b"; // -1
        echo "</br>";//换行符
        echo "b" <=> "a"; // 1
        ?>
    </body>
</html>

二、运算符优先级

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

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

代码片段

php 复制代码
<!DOCTYPE html>
<html>
    <body>
        <h1>PHP--运算符优先级</h1>
        <?php
        // 优先级: &&  >  =  >  and
        // 优先级: ||  >  =  >  or

        $a = 3;
        $b = false;
        $c = $a or $b;
        var_dump($c);          // 这里的 $c 为 int 值3,而不是 boolean 值 true
        echo "</br>";
        $d = $a || $b;
        var_dump($d);          //这里的 $d 就是 boolean 值 true
        ?>
    </body>
</html>

效果

总结

本篇文章需要记的内容不少但是不死记硬背,用的时候查查,用多了就记住了

预告

下期讲流程控制(今天写累了),下期见,拜拜~

相关推荐
两个人的幸福3 天前
Windows 桌面应用自研 PHP 队列(下):完整代码与六大工程化优化
php
BingoGo5 天前
PHP 泛型之殇 泛型 RFC 提案被拒绝
后端·php
JaguarJack5 天前
PHP 泛型之殇 泛型 RFC 提案被拒绝
后端·php
用户3074596982076 天前
PHP 扩展——从入门到理解
php
鹏仔先生7 天前
拷贝漫画APP下载页PHP程序,后台带免费AI写作
php
云水一下7 天前
从零开始学 PHP 系列(一):PHP 的前世今生与开发环境搭建
开发语言·php
xingpanvip7 天前
星盘接口开发文档:本命盘接口指南
android·开发语言·css·php·lua
酉鬼女又兒7 天前
零基础入门计算机网络运输层:端到端通信核心作用、端口号分类规则、复用分用工作机制及UDP与TCP协议全方位对比详解
网络·网络协议·tcp/ip·计算机网络·考研·udp·php
dog2507 天前
不要再继续优化 TCP
网络协议·tcp/ip·php
Channing Lewis7 天前
PHP 解析 Excel 的那些坑:一次“行号错位”引发的数据丢失
开发语言·php·excel