从头学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>

效果

总结

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

预告

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

相关推荐
黑客Ash4 小时前
【D01】网络安全概论
网络·安全·web安全·php
->yjy4 小时前
计算机网络(第一章)
网络·计算机网络·php
阳光帅气男孩6 小时前
PhpSpreadsheet导出图片
php
周全全7 小时前
Spring Boot + Vue 基于 RSA 的用户身份认证加密机制实现
java·vue.js·spring boot·安全·php
Mr.Pascal8 小时前
刚学php序列化/反序列化遇到的坑(攻防世界:Web_php_unserialize)
开发语言·安全·web安全·php
建群新人小猿8 小时前
会员等级经验问题
android·开发语言·前端·javascript·php
惜.己9 小时前
Jmeter中的断言(二)
测试工具·jmeter·1024程序员节
黑客Ela11 小时前
网络安全问题概述
安全·web安全·php
Wh1teR0se11 小时前
详解php://filter--理论
web安全·php