`

php位运算符注意事项

    博客分类:
  • php
阅读更多
$a = $b = $c = 0;
$a & $b = 1;
$b | $c = 1

 问a,b,c最终为多少?

 

当看到这题时,我犯了一个低级错误,误 以为位运算符会改变变量的值。所以得出结果是1 1 0

但是位运算符是不会改变变量的值的,例如:

$a=1;$b=2;
$a&$b;

 这样a,b的值不会有任何改变

 

再看到上面那题,先弄清一下运算符的优先级

运算符优先级 结合方向 运算符 附加信息
非结合 clone new clonenew
[ array()
非结合 ++ -- 递增/递减运算符
非结合 ~ - (int) (float) (string) (array) (object) (bool) @ 类型
非结合 instanceof 类型
右结合 ! 逻辑操作符
* / % 算术运算符
+ - . 算术运算符字符串运算符
<< >> 位运算符
非结合 < <= > >= <> 比较运算符
非结合 == != === !== 比较运算符
& 位运算符引用
^ 位运算符
| 位运算符
&& 逻辑运算符
|| 逻辑运算符
? : 三元运算符
= += -= *= /= .= %= &= |= ^= <<= >>= 赋值运算符
and 逻辑运算符
xor 逻辑运算符
or 逻辑运算符
, 多处用到

 由此得知位运算符的优先级是大于赋值运算符的

由此上面的代码亦可以写为

$a = $b = $c = 0;
$a&$b;
$b = 1;
$b | $c;
$c = 1;

 结果很明显a为0,b为1,c为1

位运算符 例子 名称 结果
$a & $b And(按位与) 将把 $a 和 $b 中都为 1 的位设为 1。
$a | $b Or(按位或) 将把 $a 或者 $b 中为 1 的位设为 1。
$a ^ $b Xor(按位异或) 将把 $a 和 $b 中不同的位设为 1。
~ $a Not(按位非) 将 $a 中为 0 的位设为 1,反之亦然。
$a << $b Shift left(左移) 将 $a 中的位向左移动 $b 次(每一次移动都表示“乘以 2”)。
$a >> $b Shift right(右移) 将 $a 中的位向右移动 $b 次(每一次移动都表示“除以 2”)。

 

还有一个优级的例外:

if($a=100 && $b=200)
var_dump($a,$b);

 bool(true) int(200)

参考:http://www.laruence.com/2010/07/26/1668.html

分享到:
评论

相关推荐

    PHP程序设计-3期(KC016) 2.5.3位运算符拓展知识.doc

    5. **注意事项**: - 位运算通常只适用于整数类型,对于浮点数或其他非整数类型的数据,必须先进行转换。 - 在进行位运算时,确保了解操作数的大小,因为不同位数的整数可能会导致预期之外的结果。 - 在进行位移...

    基于PHP编程注意事项的小结

    综上所述,理解PHP中这些常见的编程注意事项对于编写高质量的PHP代码至关重要。在开发过程中,应当注意运算符的优先级、遵循变量命名的大小写规则,并正确处理序列化数据,以减少潜在的错误和问题。同时,时刻关注...

    PHP 匿名函数与注意事项详细介绍

    PHP 匿名函数与注意事项 PHP5.2 以前:autoload, PDO 和 MySQLi, 类型约束 PHP5.2:JSON 支持 PHP5.3:弃用的功能,匿名函数,新增魔术方法,命名空间,后期静态绑定,Heredoc 和 Nowdoc, const, 三元运算符,Phar ...

    汇总PHP编程注意事项.doc

    在PHP编程中,需要注意一些关键点以避免潜在的错误和陷阱。以下是一些重要的注意事项: 1. **三元运算符的优先级问题**: ...通过了解并遵循这些注意事项,PHP开发者可以编写更安全、更可靠的代码。

    详解PHP匿名函数与注意事项

    PHP是一种广泛使用的开源脚本语言,特别适合于Web开发,能够快速开发...在实际开发中,开发者应当根据具体需要选择合适的技术实现,同时注意理解和掌握匿名函数的使用规则和注意事项,避免在项目中出现不必要的问题。

    PHP5中文手册,PHP5中文帮助文档

    手册中对每种类型的特点、用法和注意事项都有详细说明。 **3. 类与对象** PHP5增强了面向对象编程(OOP)的支持,包括类的定义、继承、封装、多态等概念。手册详细解释了如何创建和使用类,以及如何通过魔术方法和...

    2014php兄弟连教程

    3. Session与Cookie:掌握用户状态管理,了解Session和Cookie的区别与应用场景,以及安全注意事项。 4. PHP模板引擎:如Smarty等,如何使用模板引擎提高代码可维护性和分离视图层。 5. PHP框架应用:可能涉及当时...

    一周学会php接案 ppt

    此外,孙仲岳讲师可能会分享一些接案时的技巧和注意事项,帮助你更好地理解和应对客户需求,提升你的专业素养。 总的来说,"一周学会PHP接案"是一个全面且实用的教程,它将带你从零基础快速进入PHP开发领域,并为...

    PHP nts & ts x64 v7.1.1 便携版

    - 这个文件通常包含有关压缩包的使用说明,包括如何运行程序、注意事项、常见问题解答等,用户应详细阅读以了解如何正确使用这个便携版PHP环境。 5. **x64 文件夹** - 此文件夹可能包含了64位版本的PHP核心文件和...

    《PHP从入门到精通(第3版)

    ### 注意事项 由于技术限制,本书部分内容可能存在OCR扫描错误,读者在阅读过程中应结合上下文理解,并注意修正可能的错别字或漏字。对于遇到的任何技术疑问,可以查阅官方文档,或通过互联网搜索、参与技术社区的...

    (全)传智播客PHP就业班视频完整课程

    函数调用深入理解 函数使用注意事项① 8-22 5.函数使用注意事项② 函数作业布 8-23 1.函数再回顾 自定义函数 8-23 2.位运算① 8-23 3.位运算② 8-23 4.数组介绍 数组的创建 ?榈谋槔? 8-23 5.数组的引用 数组使用...

    入门教程PHP (最基础的PHP

    - **系统实施和测试:**涵盖编码阶段的注意事项,如代码规范、错误处理和异常管理,以及单元测试、集成测试和系统测试的方法。 - **实验:**通过实际项目,让学生经历从需求分析到系统上线的全过程,提升综合运用所...

    php建站源码免费下载

    在提供的文件列表中,`说明_Readme.html`通常包含有关源码的详细信息,如安装指南、使用方法和注意事项。`EPWebV1.02`可能是PHP建站源码的一个具体版本,它可能是一个完整的网站系统,包括用户管理、内容发布、评论...

    PHP教程 5本CMH电子书.rar

    - **飞翔下载说明.txt**:可能包含下载这些电子书的注意事项或使用建议。 - **安装必看.txt**:可能提供了安装PHP环境或者阅读工具的必备提示。 - **飞翔下载.url**:一个快捷方式,指向下载更多资源的网站。 通过...

    php.ini中文版-第一团购网.pdf

    注意事项 - 动态加载的扩展库的常量只能在其加载后使用。 - 默认设置通常与`php.ini-dist`文件一致,当未提供`php.ini`或删除相关设置时,将使用这些默认值。 - 修改`php.ini`时,应根据应用需求和服务器环境谨慎...

Global site tag (gtag.js) - Google Analytics