Discuz教程网

从12到13,PHP运算符(三)(作者:zero)

[复制链接]
authicon 09927306 发表于 2010-12-31 19:28:12 | 显示全部楼层 |阅读模式
    接上一篇博文《从11到12,PHP运算符(二)》中学习了PHP运算符中字符串运算和赋值运算后,本篇博文介绍介绍余下的几种PHP运算符以及运算符的优先顺序和结合规则。本文将介绍的几种运算符分别是:位运算符、逻辑运算符、比较运算符和其他运算符。
    一、位运算符——对二进制位从低位到高位对齐后进行运算。
    PHP中位运算符有以下六种:&-按位与、|-按位或、^按位异或、<<-按位左移、>>-按位右移、~按位取反(~是单目运算符),与、或、异或、取反的运算规则如下:
  1.    0&0=0    0&1=0  0&1=0  1&1=1   (与:有假就假、都真才真)
  2.    0|0=0     0|1=1   1|0=1  1|1=1(或:有真就真、都假才假)
  3.    0^0=0    0^1=1  1^0=1  1^1=0  (异或:相等为假,不等为真)
  4.    ~0=1   ~1=0
复制代码

   注:在对十进制进行为运算时要现转为二进制,然后按上述规则进行计算
   二、逻辑运算符——逻辑运算符用来组合逻辑运算的结果,是程序设计中一组非常重要的运算符。
   逻辑运算通常用来测试真假值,逻辑运算经常用在条件判断和循环处理中,用来判断条件是否满足和是否跳出循环或继续执行循环。逻辑运算符主要有以下四种:&&(and)-逻辑与,||(or)逻辑或,xor-逻辑异或,!-逻辑非。
   逻辑运算的真假值如下:
  1.    申明:$a=0  $b=0  运算结果:$a&&$b=0,$a||$b=0,$a xor $b=0  !$a=1
  2.    申明:$a=0  $b=1   运算结果:$a&&$b=0,$a||$b=1,$a xor $b=1   !$a=1
  3.    申明:$a=1  $b=0  运算结果:$a&&$b=0,$a||$b=1,$a xor $b=1    !$a=0
  4.    申明:$a=1  $b=1   运算结果:$a&&$b=1,$a||$b=1,$a xor $b=0    !$a=0
复制代码

   三、比较运算符——比较运算符是对变量或表达式的结果进行大小、真假比较
   比较运算符和逻辑运算符的用法差不多,通过比较大小来测试真假值,经常用在条件判断和循环处理中,用来判断条件是否满足和是否跳出循环或继续执行循环。PHP中常用的比较运算符主要有以下几种:<-小于,>-大于,<=-小于或等于,>=-大于或等于,==-等于,===-恒等于,!=-不等,!==-非恒等。
   四、其他运算符
$——用于定义变量
&——变量的地址
@——错误控制运算符:可以对程序中出现的错误进行屏蔽,但不能根本改变错误项
->——引用对象的方法或者属性
=>——用于给数组元素赋值
?:——三元运算符:也称为三目运算符,用于根据一个表达式在另外两个表达式中选择一个,而不是在两个语句或程序中选择。
   五、运算符的优先顺序和结合规则
   运算符的优先级与数学的四则运算遵循的“先乘除,后加减”是一个道理,运算符的优先级决定在一个表达式中存在多个运算符时应该先运算哪个运算符的问题。比如,表达式:1+2*5的结果是11而不是15这就是因为*号的优先级比+优先级高。
   PHP的运算符在运算中遵循的规则是:优先级高的先执行,优先级低的后执行,同一级别的从左至右依次运行。可以通过()改变优先级,()内的最先运行。
    运算符优先级如下表
结合方向运  算  符附加信息
非结合newnew
[array()
非结合++ –递增/递减运算符
(续)
结合方向运  算  符附加信息
非结合! ~ – (int) (float) (string) (array) (object) @类型
左* / %算数运算符
左+ – .算数运算符和字符串运算符
左<< >>位运算符
非结合< <= > >=比较运算符
非结合== != === !==比较运算符
左&位运算符和引用
左^位运算符
左|位运算符
左&&逻辑运算符
左||逻辑运算符
左? :三元运算符
右= += -= *= /= .= %= &= |= ^= <<= >>=赋值运算符
左and逻辑运算符
左xor逻辑运算符
左or逻辑运算符
左,多处用到好了通过对上面的学习基本对PHP运算符的学习就高一段落了,PHP的运算符一共分为三篇博文:
从10到11,PHP运算符(一)》、 《从11到12,PHP运算符(二)》 《从12到13,PHP运算符(三)





上一篇:从11到12,PHP运算符(二)(作者:zero)
下一篇:从13到14,PHP的表达式(作者:zero)
authicon 皆无 发表于 2011-6-18 00:59:51 | 显示全部楼层
很好 很强大。。谢谢分享
authicon 蓝天blue 发表于 2011-6-22 08:59:53 | 显示全部楼层
哈哈  收了你
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-2 20:12

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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