设为首页 收藏本站
查看: 611|回复: 0

[经验分享] PHP学习笔记 (3)--运算符

[复制链接]

尚未签到

发表于 2015-8-29 07:12:25 | 显示全部楼层 |阅读模式
  PHP学习笔记 (3)-运算符
  一、算术运算符
   1、运算符优先级:
    先算乘除后算加减,遇到括号先算括号内
    如果运算符优先级相同,则使用从左到右的左联顺序。
    从高到低列出了运算符的优先级。同一行中的运算符具有相同优先级,此时它们的结合方向决定求值顺序
   
  例子        名称     结果
-$a        取反     $a 的负值。
$a + $b   加法     $a 和 $b 的和。
$a - $b    减法     $a 和 $b 的差。
$a * $b    乘法     $a 和 $b 的积。
$a / $b    除法     $a 除以 $b 的商。
$a % $b   取模     $a 除以 $b 的余数。



<?php
$a=10;
$b=20;
echo -$a;        //取反   $a 的负值。              -10
echo "<br/>";
echo $a+$b;     //加法   $a 和 $b 的和。      30
echo "<br/>";
echo $a-$b;     //减法   $a 和 $b 的差。      -10
echo "<br/>";
echo $a*$b;     //乘法   $a 和 $b 的积。          200
echo "<br/>";
echo $a / $b;    //除法   $a 除以 $b 的商。         0.5
echo "<br/>";
echo $a % $b;    //取模   $a 除以 $b 的余数。   10
echo "<br/>";
?>

  
二、赋值运算符
    基本的赋值运算符是“=”。一开始可能会以为它是“等于”,其实不是的;它实际上是把右边表达式的值赋给左边的运算数。
     



<?php
$a=10;
$b=20;
echo $a += $b;     //等同于 $a = $a + $b    10+20=30
echo "<br/>";
echo $a -= $b;    //等同于$a = $a - $b      30-20=10
echo "<br/>";
echo $a *= $b;     //等同于$a = $a * $b     10*20=200
echo "<br/>";
echo $a /= $b;     //等同于$a = $a / $b    200/20=10
echo "<br/>";
echo $a %= $b;     //等同于$a = $a % $b    10%20=10
echo "<br/>";
//See the String Operators page
echo $a .= $b;     //等同于$a = $a . $b     10.20=1020
echo "<br/>";
$a=true;
$b=false;
//See the Bitwise Operators page  
echo $a &= $b;     //等同于$a = $a & $b      0      true&false=false
echo "<br/>";
echo $a |= $b;     //等同于$a = $a | $b      0      false|false=false
echo "<br/>";
echo $a ^= $b;     //等同于$a = $a ^ $b      0      false^false=false
echo "<br/>";
$a=1;
$b=2;
echo $a <<= $b;     //等同于$a = $a << $b       1<<2=4
echo "<br/>";
echo $a >>= $b;     //等同于$a = $a >> $b       4>>2=1
echo "<br/>";
?>

  
     
  三、比较运算符
   比较运算就是两个值进行比较,体现两个数之间的关系。
      例子                   名称              结果
  $a == $b      等于 TRUE,   如果 $a 等于 $b。
  $a === $b   全等 TRUE,   如果 $a 等于 $b,并且它们的类型也相同。
  $a != $b    不等 TRUE,   如果 $a 不等于 $b。
  $a <> $b    不等 TRUE,    如果 $a 不等于 $b。
  $a !== $b   非全等 TRUE,   如果 $a 不等于 $b,或者它们的类型不同。
  $a < $b    小与 TRUE,    如果 $a 严格小于 $b。
  $a > $b    大于 TRUE,    如果 $a 严格 $b。
  $a <= $b   小于等于 TRUE,   如果 $a 小于或者等于 $b。
  $a >= $b     大于等于 TRUE,   如果 $a 大于或者等于 $b。



<?php
$a=10;
$b=10;
echo $a== $b;      //$a==$b吗?     10==10  返回1   True
echo "<br/>";
echo $a === $b;    //$a===$b吗?   10===10 返回1   True
echo "<br/>";  
$b="10";
echo $a === $b;    //$a===$b吗?    10==="10" 返回空   false  比较两数据,不但比较数据值还有比较数据类型;
echo "<br/>";
$A=10;
$B=20;
echo $A!=$B;        //$a 不等于 $b     10!=20  返回1   True
echo "<br/>";
echo $A<>$B;        //$a 不等于 $b     100<>20 返回1   True
echo "<br/>";
echo $A!==$B;        //$a 不等于 $b,或者它们的类型不同。10!==20  返回1   True
echo "<br/>";
$C="10";
echo $A!==$C;        //非全等 $a 不等于 $b,或者它们的类型不同。10!=="10" 返回空   false
echo "<br/>";
echo $A<$B;        // $a 严格小于 $b   10<20 返回1   True
echo "<br/>";
echo $A>$B;        // $a 严格小于 $b   10>20 返回空   false
echo "<br/>";
echo $A<=$B;        // $a 小于或者等于 $b   10<=20 返回1   True
echo "<br/>";
echo $A>=$B;        // $a 大于或者等于 $b   10>=20 返回空   false
echo "<br/>";
?>

  
四、逻辑运算符
         例子                 名称                  结果
  $a and $b   And(逻辑与)    TRUE,如果 $a 与 $b 都为 TRUE。
  $a or $b   Or(逻辑或)     TRUE,如果 $a 或 $b 任一为 TRUE。
  $a xor $b   Xor(逻辑异或)  TRUE,如果 $a 或 $b 任一为 TRUE,但不同时是。
  ! $a             Not(逻辑非)        TRUE,  如果 $a 不为 TRUE。
  $a && $b   And(逻辑与)   TRUE,如果 $a 与 $b 都为 TRUE。
  $a || $b   Or(逻辑或)     TRUE,如果 $a 或 $b 任一为 TRUE。



<?php
$a=true;
$b=false;
echo "And(逻辑与)";     //TRUE,如果 $a 与 $b 都为 TRUE
echo  $a and $b; //返回 空  false;
echo "Or(逻辑或)";      //TRUE,如果 $a 与 $b 都为 TRUE
echo  $a or  $b; //返回 1  TRUE;
echo "Xor(逻辑异或)";   //TRUE,如果 $a 或 $b 任一为 TRUE,但不同时是
echo  $a xor  $b;        //返回 1  TRUE;
echo "Not(逻辑非)";    //TRUE,  如果 $a 不为 TRUE
echo  !$a;               //返回 空  false;
echo "And(逻辑与)";      //TRUE,如果 $a 与 $b 都为 TRUE
echo  $a &&  $b;          //返回 空  false;
echo "Or(逻辑或)";       //TRUE,如果 $a 或 $b 任一为 TRUE
echo  $a ||  $b;           //返回 1  TRUE;
?>

  五、递增/递减运算符
  
只操作变量的一种运算
  递增/递减运算符不影响布尔值。递减 NULL 值也没有效果,但是递增 NULL 的结果是 1。
  
例子      名称     效果
++$a    前加    $a 的值加一,然后返回 $a。
$a++    后加    返回 $a,然后将 $a 的值加一。
--$a     前减     $a 的值减一, 然后返回 $a。
$a--     后减     返回 $a,然后将 $a 的值减一。



<?php
$a=1;
echo "前加";     //$a 的值加一,然后返回 $a
echo  ++$a; //显示值  2   
$a=1;
echo "后加";     //返回 $a,然后将 $a 的值加一
echo  $a++; //显示值   1   
$a=2;
echo "前减";     //$a 的值减一, 然后返回 $a
echo  --$a; //显示值  1   
$a=2;
echo "前减";     //$返回 $a,然后将 $a 的值减一
echo  $a--; //显示值  2   
?>

  
六、位运算符
  位运算符允许对整型数中指定的位进行置位。如果左右参数都是字符串,则位运算符将操作字符的 ASCII 值。
  在 32 位系统上不要右移超过 32 位。不要在结果可能超过 32 位的情况下左移。
  例子                  名称                               结果
$a & $b     And(按位与)    将把 $a 和 $b 中都为 1 的位设为 1。
$a | $b      Or(按位或)      将把 $a 或者 $b 中为 1 的位设为 1。
$a ^ $b     Xor(按位异或)    将把 $a 和 $b 中不同的位设为 1。
~ $a      Not(按位非)    将 $a 中为 0 的位设为 1,反之亦然。
$a << $b   Shift left(左移)    将 $a 中的位向左移动 $b 次(每一次移动都表示“乘以 2”)。
$a >> $b   Shift right(右移)    将 $a 中的位向右移动 $b 次(每一次移动都表示“除以 2”)。



<?php
$a=1;  
$b=1;
echo "<br/>And(按位与)";    //将把 $a 和 $b 中都为 1 的位设为 1
echo $a&$b; //显示值  1
echo "<br/>Or(按位或)";    //将把 $a 或者 $b 中为 1 的位设为 1
echo $a|$b; //显示值  1
echo "<br/> Xor(按位异或)";//将把 $a 和 $b 中不同的位设为 1
echo $a^$b; //显示值  0
echo "<br/>Not(按位非)";    //将 $a 中为 0 的位设为 1,反之亦然
echo ~$a; //显示值  -2
echo "<br>Shift left(左移)";//将 $a 中的位向左移动 $b 次(每一次移动都表示“乘以 2”)
echo $a<<$b;  //显示值  2
echo "<br/>Shift right(右移)";//将 $a 中的位向右移动 $b 次(每一次移动都表示“除以 2”)。
echo $a>>$b;   //显示值 0
?>

  (学习笔记,理解肤浅。只供学习参考,如果不足敬请谅解)
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-105659-1-1.html 上篇帖子: 使用 CodeIgniter 框架快速开发 PHP 应用(三) 下篇帖子: php 链接mssql问题 ntext不能读取
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表