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 相关文章推荐
php中变量及部分适用方法
Mar 27 PHP
php下通过伪造http头破解防盗链的代码
Jul 03 PHP
PHP的变量总结 新手推荐
Apr 18 PHP
PHP把JPEG图片转换成Progressive JPEG的方法
Jun 30 PHP
PHP图片自动裁切应付不同尺寸的显示
Oct 16 PHP
php源码分析之DZX1.5随机数函数random用法
Jun 17 PHP
解析WordPress中函数钩子hook的作用及基本用法
Dec 22 PHP
Yii中创建自己的Widget实例
Jan 05 PHP
PHP 返回数组后处理方法(开户成功后弹窗提示)
Jul 03 PHP
源码分析 Laravel 重复执行同一个队列任务的原因
Dec 25 PHP
php实现微信企业付款到个人零钱功能
Oct 09 PHP
通过PHP实现用户注册后邮箱验证激活
Nov 10 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
PHP反转字符串函数strrev()函数的用法
2012/02/04 PHP
Zend Studio 实用快捷键一览表(精心整理)
2013/08/10 PHP
curl实现站外采集的方法和技巧
2014/01/31 PHP
PHP的Yii框架中View视图的使用进阶
2016/03/29 PHP
PHP AjaxForm提交图片上传并显示图片源码
2016/11/29 PHP
Laravel框架处理用户的请求操作详解
2019/12/20 PHP
PHP代码加密的方法总结
2020/03/13 PHP
JavaScript与函数式编程解释
2007/04/27 Javascript
Jquery 插件学习实例1 插件制作说明与tableUI优化
2010/04/02 Javascript
jQuery对象和DOM对象使用说明
2010/06/25 Javascript
基于jquery的图片幻灯展示源码
2012/07/15 Javascript
.net,js捕捉文本框回车键事件的小例子(兼容多浏览器)
2013/03/11 Javascript
jQuery循环滚动新闻列表示例代码
2014/06/17 Javascript
node.js下LDAP查询实例分享
2015/09/30 Javascript
JS作用域闭包、预解释和this关键字综合实例解析
2016/12/16 Javascript
js实现多行文本框统计剩余字数功能
2017/03/28 Javascript
利用js的闭包原理做对象封装及调用方法
2017/04/07 Javascript
canvas实现弧形可拖动进度条效果
2017/05/11 Javascript
详谈js模块化规范
2017/07/07 Javascript
AngularJS监听ng-repeat渲染完成的两种方法
2018/01/16 Javascript
javascript使用正则实现去掉字符串前面的所有0
2018/07/23 Javascript
electron + vue项目实现打印小票功能及实现代码
2018/11/25 Javascript
微信小程序select下拉框实现效果
2019/05/15 Javascript
封装 axios+promise通用请求函数操作
2020/08/11 Javascript
[50:50]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第一场 12.20
2020/12/23 DOTA
在Heroku云平台上部署Python的Django框架的教程
2015/04/20 Python
python递归计算N!的方法
2015/05/05 Python
spyder常用快捷键(分享)
2017/07/19 Python
使用python实现简单五子棋游戏
2019/06/18 Python
Python学习之os模块及用法
2020/06/03 Python
python爬虫工具例举说明
2020/11/30 Python
Nike俄罗斯官方网站:Nike RU
2021/03/05 全球购物
《狼和小羊》教学反思
2014/04/20 职场文书
学校党风廉政建设调研报告
2015/01/01 职场文书
礼貌问候语大全
2015/11/10 职场文书
Elasticsearch 基本查询和组合查询
2022/04/19 Python