• 4.运算符和流程控制


    运算符

    在 PHP 中,赋值运算符 = 用于给变量赋值。

    在 PHP 中,算术运算符 + 用于把值加在一起

    1.算数运算符

    运算符 名称 描述 实例 结果
    x + y x 和 y 的和 2 + 2 4
    x - y x 和 y 的差 5 - 2 3
    x * y x 和 y 的积 5 * 2 10
    x / y x 和 y 的商 15 / 5 3
    x % y 模(除法的余数) x 除以 y 的余数 5 % 2 10 % 8 10 % 2 1 2 0
    - x 取反 x 取反 <?php $x =2; echo -$x; ?> -2
    a . b 并置 连接两个字符串 "Hi" . "Ha" HiHa
    <?php
        
        // 取余
    	echo 10 % 3      // 返回10/3的余数  1
        
        // 取反
        $x =2; 
    	echo -$x;       // -1
    	
    	//并置
    	echo 'hello '.'word'   // hello word
        
    ?>
    

    2.赋值运算符

    在 PHP 中,基本的赋值运算符是 "="。它是左操作数被设置为右侧表达式的值。也就是说,"$x = 5" 的值是 5。

    运算符 等同于 描述
    x = y x = y 左操作数被设置为右侧表达式的值
    x += y x = x + y
    x -= y x = x - y
    x *= y x = x * y
    x /= y x = x / y
    x %= y x = x % y 模(除法的余数)
    a .= b a = a . b 连接两个字符串
    <?php 
    $x=10; 
    echo $x; // 输出10
     
    $y=20; 
    $y += 100;
    echo $y; // 输出120
     
    $z=50;
    $z -= 25;
    echo $z; // 输出25
     
    $i=5;
    $i *= 6;
    echo $i; // 输出30
     
    $j=10;
    $j /= 5;
    echo $j; // 输出2
     
    $k=15;
    $k %= 4;
    echo $k; // 输出3
    
    $x="Hello";
    $x .= " world!";
    echo $x; // 输出Hello world!
    ?>
    

    3.递增/递减运算符

    运算符 名称 描述
    ++ x 预递增 x 加 1,然后返回 x
    x ++ 后递增 返回 x,然后 x 加 1
    -- x 预递减 x 减 1,然后返回 x
    x -- 后递减 返回 x,然后 x 减 1
    <?php
    $x=10; 
    echo ++$x; // 输出11
     
    $y=10; 
    echo $y++; // 输出10
     
    $z=5;
    echo --$z; // 输出4
     
    $i=5;
    echo $i--; // 输出5
    ?>
    

    4.比较运算符

    比较操作符可以让您比较两个值:

    运算符 名称 描述 实例
    x == y 等于 如果 x 等于 y,则返回 true 5==8 返回 false
    x === y 绝对等于 如果 x 等于 y,且它们类型相同,则返回 true 5==="5" 返回 false
    x != y 不等于 如果 x 不等于 y,则返回 true 5!=8 返回 true
    x <> y 不等于 如果 x 不等于 y,则返回 true 5<>8 返回 true
    x !== y 绝对不等于 如果 x 不等于 y,或它们类型不相同,则返回 true 5!=="5" 返回 true
    x > y 大于 如果 x 大于 y,则返回 true 5>8 返回 false
    x < y 小于 如果 x 小于 y,则返回 true 5<8 返回 true
    x >= y 大于等于 如果 x 大于或者等于 y,则返回 true 5>=8 返回 false
    x <= y 小于等于 如果 x 小于或者等于 y,则返回 true 5<=8 返回 true

    5.逻辑运算符

    运算符 名称 描述
    x and y 如果 x 和 y 都为 true,则返回 true
    x or y 如果 x 和 y 至少有一个为 true,则返回 true
    x xor y 异或 如果 x 和 y 有且仅有一个为 true,则返回 true
    x && y 如果 x 和 y 都为 true,则返回 true
    x || y 如果 x 和 y 至少有一个为 true,则返回 true
    ! x 如果 x 不为 true,则返回 true

    6.运算符优先级

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

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

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

    运算符优先级中,or 和 ||,&& 和 and 都是逻辑运算符,效果一样,但是其优先级却不一样。

    7.括号的使用

    我们通过括号的配对来明确标明运算顺序,而非靠运算符优先级和结合性来决定

    你可以认为括号的优先级高于它们

    <?php
    // 括号优先运算
     
    $a = 1;
    $b = 2;
    $c = 3;
    $d = $a + $b * $c;
    echo $d;
    echo "\n";
    $e = ($a + $b) * $c;  // 使用括号
    echo $e;
    echo "\n";
    ?>
    

    8.三元运算符

    语法: 条件?条件为真执行的代码:条件为假执行的代码

    <?php
    	$x = false;
    	$y = true;
    	echo $x;    // 0
    	echo $y;    // 1
    	$x?$x='真':$x='假';
    	$y?$y='真':$y='假';
    	echo $x;   // 假
    	echo $y;   // 真
    ?>
    

    9.其他运算符

    符号信息 说明
    ``反引号 反引号中间插入代码,执行系统命令,等价于shell_exec函数
    @ 表示抑制错误,把这一行的错误不让它显示出来了,效率低不建议用
    => 数组下标访问符
    -> 对象访问符
    instanceof 判断某个对象是否来自某个类,如果是的返回true,如果不是返回false
    必会: ``  反引号中间插入代码,执行系统命令,等价于shell_exec函数
    
    <?php
    	echo `ipconfig`   // 打印本机的IP地址信息
    ?>
    

    流程控制

    条件语句用于根据不同条件执行不同动作。

    当你编写代码时,您常常需要为不同的判断执行不同的动作。您可以在代码中使用条件语句来完成此任务。

    在 PHP 中,提供了下列条件语句:

    • if 语句 - 在条件成立时执行代码
    • if...else 语句 - 在条件成立时执行一块代码,条件不成立时执行另一块代码
    • if...elseif....else 语句 - 在若干条件之一成立时执行一个代码块
    • switch 语句 - 在若干条件之一成立时执行一个代码块

    1.if 语句

    if 语句用于仅当指定条件成立时执行代码

    语法 :

    if (条件) {
      当条件为 true(真) 时执行的代码;
    }
    

    举例:

    <?php  $sex = 'boy';  if($sex = 'boy' ){      echo '男孩子在外面要保护好自己';  }?>
    

    2.if-else

    在条件成立时执行一块代码,条件不成立时执行另一块代码,请使用 if....else 语句。

    语法:

    if (条件) {  条件为 true 时执行的代码;} else {  条件为 false 时执行的代码;}
    

    举例

    <?php  $sex = 'boy';  if($sex = 'boy' ){      echo '男孩子在外面要保护好自己';  }else{      echo '不要相信男人说的话';  }?>
    

    3.iif...elseif....else

    在若干条件之一成立时执行一个代码块,请使用if...elseif...else语句。.

    语法:

    if (条件){    if 条件成立时执行的代码;}elseif (条件){    elseif 条件成立时执行的代码;}else{    条件不成立时执行的代码;}
    

    举例:

    <?php  $dida = rand(0,23);   // 获取一个0-23之间的随机数,包括23  echo "当前时间为 $dida 点\n";  if($dida > 6 && $dida < 10 ){      echo '豆浆油条';  }elseif ($dida > 10 && $dida < 14){      echo '吃兰州拉面';  }elseif ($dida >= 14 && $dida < 22){      echo '正规按摩';  }elseif ($dida > 22 && $dida <=23){      echo '打打游戏';  }elseif ($dida >=1 && $dida <3){      echo '吃吃夜宵';  }else{      echo '睡觉或者工作中';  }?>
    

    4.switch

    如果您希望有选择地执行若干代码块之一,请使用switch语句

    语法 :

    <?php    switch (n)    {    case 值1:        如果 n=值1,此处代码将执行;        break;    case 值1:        如果 n=值1,此处代码将执行;        break;    default:        如果 n 既不等于 值1 也不等于 值1,此处代码将执行;    }	 // case 值,后面紧跟的不是分号是:(冒号)	//  每个case下面必须有break	// default 可以不写?>
    

    工作原理:首先对一个简单的表达式 n(通常是变量)进行一次计算。将表达式的值与结构中每个 case 的值进行比较。如果存在匹配,则执行与 case 关联的代码。代码执行后,使用 break 来阻止代码跳入下一个 case 中继续执行。default 语句用于不存在匹配(即没有 case 为真)时执行。

    举例 :

    $rubbish_category = '湿垃圾';switch ($rubbish_category) {    case '不可回收垃圾':        echo '去A垃圾桶';        break;    case '可回收垃圾':        echo '去B垃圾桶';        break;    case '干垃圾':        echo '去C垃圾桶';        break;    case '湿垃圾':        echo '去D垃圾桶';        break;    default:        echo '你到底是什么垃圾???';}?>
    

    注意 : 如果不写break,会从匹配到的第一个case后,一直执行到第一个break,中间就算有case也不会匹配了

    直接执行case里面的代码,如果一直没有break,会执行到default下方代码结束,如果default也没有就会执行匹

    配到的case语句下所有的代码,一直到switch语句结束。

  • 相关阅读:
    JDK源代码学习-基础类
    六、Java多人博客系统-2.0版本-代码实现
    JDK源代码学习-ArrayList、LinkedList、HashMap
    Java拓展接口-default关键词
    七、Java多人博客系统-2.0版本-docker部署
    五、Java多人博客系统-2.0版本-数据库设计
    四、Java多人博客系统-2.0版本
    max file descriptors [10240] for elasticsearch process is too low, increase to at least [65535]
    system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk
    which: no java in (/sbin:/usr/sbin:/bin:/usr/bin) Could not find any executable java binary. Please install java in your PATH or set JAVA_HOME
  • 原文地址:https://www.cnblogs.com/xcymn/p/15721316.html
Copyright © 2020-2023  润新知