• 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语句结束。

  • 相关阅读:
    Silverlight 5 系列学习之一
    WPF中数据绑定问题
    细说ASP.NET Forms身份认证 别人写的不过很透彻就转来了以后用时再看
    再学IHanlder 类----------------关于Asp.net与iis原理网上看博客收获写一个验证码用一般处理程序记的好长时间前就写过不过现在再看有点不一样的感觉
    Oracle常用查看表结构命令
    尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。(遇到了这个问题网上查了下保存下来)
    TxetBox PasswordChar 模式解除
    屏幕抖动一 下
    oracle 日期问题 网上找到自己查阅时方便
    day5-Dns
  • 原文地址:https://www.cnblogs.com/xcymn/p/15721316.html
Copyright © 2020-2023  润新知