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获取网页内容方法总结
Dec 04 PHP
php代码收集表单内容并写入文件的代码
Jan 29 PHP
解析php session_set_save_handler 函数的用法(mysql)
Jun 29 PHP
php计算数组不为空元素个数的方法
Jan 27 PHP
一组PHP加密解密函数分享
Jun 05 PHP
php最简单的删除目录与文件实现方法
Nov 28 PHP
php导入excel文件到mysql数据库的方法
Jan 14 PHP
PHP附件下载中文名称乱码的解决方法
Dec 17 PHP
CI框架入门之MVC简单示例
Nov 21 PHP
php实现微信公众号企业转账功能
Oct 01 PHP
用Laravel Sms实现laravel短信验证码的发送的实现
Nov 29 PHP
PHP设计模式(五)适配器模式Adapter实例详解【结构型】
May 02 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
分享8个最佳的代码片段在线测试网站
2013/06/29 PHP
php查询mysql大量数据造成内存不足的解决方法
2015/03/04 PHP
用PHP代码在网页上生成图片
2015/07/01 PHP
Symfony2框架学习笔记之表单用法详解
2016/03/18 PHP
Web前端设计模式  制作漂亮的弹出层
2010/10/29 Javascript
Js(JavaScript)中,弹出是或否的选择框示例(confirm用法的实例分析)
2013/07/09 Javascript
jquery重复提交请求的原因浅析
2014/05/23 Javascript
JS实现双击屏幕滚动效果代码
2015/10/28 Javascript
jQuery移动web开发中的页面初始化与加载事件
2015/12/03 Javascript
详解Bootstrap按钮
2016/01/04 Javascript
animate 实现滑动切换效果【实例代码】
2016/05/05 Javascript
javascript容错处理代码(屏蔽js错误)
2017/01/20 Javascript
js图片放大镜效果实现方法详解
2020/10/28 Javascript
js中字符型和数值型数字的互相转化方法(必看)
2017/04/25 Javascript
Node.js对MongoDB数据库实现模糊查询的方法
2017/05/03 Javascript
JS实现十字坐标跟随鼠标效果
2017/12/25 Javascript
NodeJs搭建本地服务器之使用手机访问的实例讲解
2018/05/12 NodeJs
微信小程序自定义多选事件的实现代码
2018/05/17 Javascript
解决百度Echarts图表坐标轴越界的方法
2018/10/17 Javascript
JS栈stack类的实现与使用方法示例
2019/01/31 Javascript
layui框架与SSM前后台交互的方法
2019/09/12 Javascript
JS如何实现网站中PC端和手机端自动识别并跳转对应的代码
2020/01/08 Javascript
微信小程序实现滑动操作代码
2020/04/23 Javascript
[03:40]DOTA2英雄梦之声_第01期_炼金术士
2014/06/23 DOTA
django框架使用orm实现批量更新数据的方法
2019/06/21 Python
使用Python轻松完成垃圾分类(基于图像识别)
2019/07/09 Python
Django 自定义权限管理系统详解(通过中间件认证)
2020/03/11 Python
CSS3实现简易版的刮刮乐效果
2016/09/27 HTML / CSS
豪华床上用品 :Jennifer Adams
2019/09/15 全球购物
计算机专业大学生的自我评价
2013/11/14 职场文书
经理秘书找工作求职信
2013/12/19 职场文书
工程承诺书怎么写
2014/05/24 职场文书
北京英文导游词
2015/02/12 职场文书
地震慰问信
2015/02/14 职场文书
js之ajax文件上传
2021/05/13 Javascript
如何在python中实现ECDSA你知道吗
2021/11/23 Python