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 相关文章推荐
判“新”函数:得到今天与明天的秒数
Oct 09 PHP
我的论坛源代码(十)
Oct 09 PHP
php imagecreatetruecolor 创建高清和透明图片代码小结
May 15 PHP
php网站来路获取代码(针对搜索引擎)
Jun 08 PHP
无法载入 mcrypt 扩展,请检查 PHP 配置终极解决方案
Jul 18 PHP
Yii结合CKEditor实现图片上传功能
Jun 13 PHP
php+curl 发送图片处理代码分享
Jul 09 PHP
Zend Framework前端控制器用法示例
Dec 11 PHP
PHP使用mysqli同时执行多条sql查询语句的实例
Mar 22 PHP
laravel框架之数据库查出来的对象实现转化为数组
Oct 23 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
Mar 26 PHP
Thinkphp极验滑动验证码实现步骤解析
Nov 24 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
《魔兽争霸3:重制版》翻车了?你想要的我们都没有
2019/11/07 魔兽争霸
php usort 使用用户自定义的比较函数对二维数组中的值进行排序
2017/05/02 PHP
PHP实现微信申请退款功能
2018/10/01 PHP
Laravel关联模型中过滤结果为空的结果集(has和with区别)
2018/10/18 PHP
详解php中生成标准uuid(guid)的方法
2019/04/28 PHP
兼容多浏览器的字幕特效Marquee的通用js类
2008/07/20 Javascript
js去除重复字符串两种实现方法
2013/01/09 Javascript
jQuery中clone()方法用法实例
2015/01/16 Javascript
Bootstrap下拉菜单Dropdowns的实现代码
2017/03/17 Javascript
用Axios Element实现全局的请求loading的方法
2018/03/15 Javascript
JS实现动态生成html table表格的方法分析
2018/07/11 Javascript
Vue项目中最新用到的一些实用小技巧
2018/11/06 Javascript
Vue 指令实现按钮级别权限管理功能
2019/04/23 Javascript
彻底揭秘keep-alive原理(小结)
2019/05/05 Javascript
浅析JavaScript 函数柯里化
2020/09/08 Javascript
[03:06]V社市场总监Dota2项目负责人Erik专访:希望更多中国玩家加入DOTA2
2014/07/11 DOTA
python将图片文件转换成base64编码的方法
2015/03/14 Python
Python实现将数据库一键导出为Excel表格的实例
2016/12/30 Python
Python使用matplotlib实现绘制自定义图形功能示例
2018/01/18 Python
基于Django用户认证系统详解
2018/02/21 Python
python简单商城购物车实例代码
2018/03/15 Python
Python中跳台阶、变态跳台阶与矩形覆盖问题的解决方法
2018/05/19 Python
浅谈Pycharm最有必要改的几个默认设置项
2020/02/14 Python
python实现图片横向和纵向拼接
2020/03/05 Python
10个python爬虫入门实例(小结)
2020/11/01 Python
只要五步 就可以用HTML5/CSS3快速制作便签贴特效(图)
2012/06/04 HTML / CSS
Kivari官网:在线购买波西米亚服装
2018/10/29 全球购物
智能钱包:Ekster
2019/11/21 全球购物
英语专业推荐信
2013/11/16 职场文书
计算机软件个人的自荐信范文
2013/12/01 职场文书
2014婚礼司仪主持词
2014/03/14 职场文书
采购意向书范本
2014/03/31 职场文书
城市规划应届生推荐信
2014/09/08 职场文书
班主任自我评价范文
2015/03/11 职场文书
致地震灾区的慰问信
2015/03/23 职场文书
使用 Apache Dubbo 实现远程通信(微服务架构)
2022/02/12 Servers