PHP学习 运算符与运算符优先级


Posted in PHP onJune 15, 2008

算术运算符
  运算符      名称    结果            
  $a + $b      加法    $a 和 $b 的和
  $a - $b      减法    $a 和 $b 的差
  $a * $b      乘法    $a 和 $b 的积
  $a / $b      除法    $a 除以 $b 的商
  $a % $b      取模    $a 除以 $b 的余数
递增/递减运算符
  运算符    名称       结果
  ++$a   前加  

$a 的值加一,然后进行操作
    $a++     后加  

$a 的值先进行操作,后加一
    --$a

 前减  

$a 的值减一,然后进行操作
    $a--

 后减  

$a 的值先进行操作,后减一
实例:
<?php
  echo  $a=5+”5th”;    //输出:10
  echo  10%3;          //输出:1
  echo  10+ $a++;      //输出:20
  echo   5- --$a;        //输出:-5
?>
比较运算符
  运算符          名称         结果
  $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
     var_dump(0=="a");  //输出:bool(true)      
    var_dump(0=="00");      //输出:bool(true)
    var_dump(0==="00");    //输出:bool(false)
    var_dump(0<>"abc");   //输出:bool(false)
    var_dump(0!=="01");  //输出:bool(true) 
    $a=10;
    $b=20;
    $str=$a>$b? "true":"false"; 
    echo $str;    //输出:false 
?>
逻辑运算符
  运算符      名称      结果
  $a and $b    逻辑与    TRUE,如果 $a 与 $b 都为 TRUE。
  $a or $b    逻辑或    TRUE,如果 $a 或 $b 任一为TRUE。
  $a xor $b    异或        TRUE,如果 $a 和 $b 不同时
  ! $a              逻辑非  TRUE,如果 $a 不为 TRUE。
  $a && $b      逻辑与  TRUE,如果 $a 与 $b 都为TRUE。
  $a || $b        逻辑或  TRUE,如果 $a 或 $b 任一为TRUE。

  其中and与&& 、or与||是同一逻辑运算符的两种写法。 
  逻辑与和逻辑或 都是短路运算符。在遇到下列逻辑表达式时,PHP解释程序将不会计算右边的表达式:
  <?php
      $a=10;
      if(false && (++$a));
      echo $a;      //输出:10
      $b=10;
      if(true or (++$b));
      echo $b;      //输出:10
  ?>
位运算符
  位运算符允许对整型数中指定的位进行置位。如果左右参数都是字符串,则位运算符将操作字符的 ASCII 值。
  表达式     名称      结果
  $a & $b   按位与     将把 $a 和 $b 中都为 1 的位设为 1。
  $a | $b     按位或    将把 $a 或者 $b 中为 1 的位设为 1。
  $a ^ $b   按位异或  将把 $a 和 $b 中不同的位设为 1。
  ~ $a       按位非    将 $a 中为 0 的位设为 1,反之亦然。
  $a << $b   左移      将 $a 中的位向左移动 $b 次(每一次                           移动都表示“乘以 2”)。
  $a >> $b   右移      将 $a 中的位向右移动 $b 次(每一次                           移动都表示“除以 2”)。
    其他运算符
字符串运算符
有两个字符串运算符。第一个是连接运算符(“.”),它返回其左右参数连接后的字符串。第二个是连接赋值运算符(“.=”),它将右边参数附加到左边的参数后。
错误抑制操作符
在最常见的数据库连接与文件创建操作或出现除0等异常时,可以用@符号来抑制函数错误信息输出到浏览器端 $a=@(5/0)
  外部命令执行
       使用``来运行外部系统命令,注意不是单引号,是ESC下面那个按键
        <?php
          $out=`dir c:`;
              print_r($out);
        ?>//不建议使用
实例:
<?php
  $a="hello";
  $a.=" world! ";  //等同于:$a=$a." world!";
  echo $a;  //输出:hello world!  
  $m = 3;
  $m += 5;  //等同于:$m=$m+5;
  echo $m;   //输出:8

  $c = ($b = 4) + 5; 
  echo $c;  //输出:9  
?>
    运算符优先级 
下表从低到高列出了运算符的优先级。 
  结合方向    运算符
  左      ,
  左      or
  左      xor
  左      and
  右      print
  右      = += -= *= /= .= %= &= |= ^=                      ~=   <<=  >>= 
  左      ? :
  左      ||
  左      &&
结合方向        运算符
  左      |
  左      ^
  左      &
  无      == != === !==
  无      <  <= > >= 
  左      <<  >>
  左      +  -  .
  左      *  /   %
  右      ! ~ ++ -- (int) (float) (string) (array) (object) @
  右      [
  无      new

PHP 相关文章推荐
用ODBC的分页显示
Oct 09 PHP
PHP生成网页快照 不用COM不用扩展.
Feb 11 PHP
PHP生成UTF8文件的方法
May 15 PHP
windows环境下php配置memcache的具体操作步骤
Jun 09 PHP
PHP关于IE下的iframe跨域导致session丢失问题解决方法
Oct 10 PHP
php中运用http调用的GET和POST方法示例
Sep 29 PHP
php中二维数组排序问题方法详解
Aug 28 PHP
zend framework中使用memcache的方法
Mar 04 PHP
PHP实现QQ、微信和支付宝三合一收款码实例代码
Feb 19 PHP
ThinkPHP3.2框架自定义配置和加载用法示例
Jun 14 PHP
PHP array_reduce()函数的应用解析
Oct 28 PHP
详解no input file specified 三种解决方法
Nov 29 PHP
坏狼php学习 计数器实例代码
Jun 15 #PHP
坏狼的PHP学习教程之第2天
Jun 15 #PHP
坏狼的PHP学习教程之第1天
Jun 15 #PHP
Php注入点构造代码
Jun 14 #PHP
介绍php设计模式中的工厂模式
Jun 12 #PHP
php mysql索引问题
Jun 07 #PHP
PHP中MD5函数使用实例代码
Jun 07 #PHP
You might like
如何选购合适的收音机
2021/03/01 无线电
laravel 4安装及入门图文教程
2014/10/29 PHP
PHP中trim()函数简单使用指南
2015/04/16 PHP
PHP命令行执行整合pathinfo模拟定时任务实例
2016/08/12 PHP
源码分析 Laravel 重复执行同一个队列任务的原因
2017/12/25 PHP
判断控件是否已加载完成的代码
2010/02/24 Javascript
js 火狐下取本地路径实现思路
2013/04/02 Javascript
单击复制文字兼容各浏览器的完美解决方案
2013/07/04 Javascript
js关于精确计算和数值格式化以及直接引js文件
2014/01/28 Javascript
jquery制作搜狐快站页面效果示例分享
2014/02/21 Javascript
jQuery中使用data()方法读取HTML5自定义属性data-*实例
2014/04/11 Javascript
a标签click和href执行顺序探讨
2014/06/23 Javascript
使用jQuery和Bootstrap实现多层、自适应模态窗口
2014/12/22 Javascript
完善的jquery处理机制
2016/02/21 Javascript
JS中常用的输出方式(五种)
2016/06/12 Javascript
javascript验证内容为数字以及长度为10的简单实例
2016/08/20 Javascript
AngularJs 最新验证手机号码的实例,成功测试通过
2017/11/26 Javascript
解决vue v-for 遍历循环时key值报错的问题
2018/09/06 Javascript
微信小程序 组件的外部样式externalClasses使用详解
2019/09/06 Javascript
[00:30]明星选手化身超级英雄!2018DOTA2亚洲邀请赛全明星赛来临!
2018/04/06 DOTA
python过滤字符串中不属于指定集合中字符的类实例
2015/06/30 Python
python根据京东商品url获取产品价格
2015/08/09 Python
python模块之sys模块和序列化模块(实例讲解)
2017/09/13 Python
肯尼亚网上商城:Kilimall
2016/08/20 全球购物
Intimissimi德国网上商店:意大利知名内衣品牌
2018/04/03 全球购物
python re模块和正则表达式
2021/03/24 Python
学校课外活动总结
2014/05/08 职场文书
社区清明节活动总结
2014/07/04 职场文书
俞敏洪一分钟演讲稿
2014/08/26 职场文书
2014年前台文员工作总结
2014/12/08 职场文书
小学母亲节活动总结
2015/02/10 职场文书
戒赌保证书
2015/05/11 职场文书
离婚代理词范文
2015/05/23 职场文书
晶体管单管来复再生式收音机
2021/04/22 无线电
SQL SERVER触发器详解
2022/02/24 SQL Server
Android中的Launch Mode详情
2022/06/05 Java/Android