博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
运算符 - PHP手册笔记
阅读量:6305 次
发布时间:2019-06-22

本文共 1605 字,大约阅读时间需要 5 分钟。

运算符优先级

每种编程语言都有运算符,运算符要学会灵活使用。

运算符拥有不同的优先级和结合方向。

在需要的时候使用括号,可以增强代码的可读性。

算术运算符

取模运算符的结果和被除数的符号相同。

赋值运算符将原变量的值拷贝到新变量中,有个例外就是碰到对象时,是以引用赋值的,除非明确使用clone关键字来拷贝。

new运算符自动返回一个引用。

位运算符

位移有一下几个规律:

  • 向任何方向移出去的位都被丢弃。
  • 左移时以零填充,且正负号不被保留。
  • 右移时以符号位填充,意味着正负号保留。

这一节的重点就是把手册重点的几个示例程序看懂吧。示例中字符串的XOR运算比较难理解,这个以后再看。还有整数的位移,感觉理解就好吧。

比较运算符

普通等号==只需类型转换后两值相等就返回真。

如果比较一个数字和字符串或者比较涉及到数字内容的字符串,则字符串会被转换为数值并且比较按照数值来进行。

自PHP 5.3起,可以省略三元运算符中间那部分。表达式expr1 ?: expr3在expr1真时返回expr1,否则返回expr3。三元运算符是从左往右计算的。

错误控制运算符

PHP支持一个错误控制运算符@,@运算符只对表达式有效。将其放在表达式前,该表达式可能产生的任何错误信息都被忽略掉。

不能把它放在函数或类的定义之前,也不能用于条件结构例如if和foreach等。

执行运算符

PHP支持一个执行运算符:反引号,就是键盘左上角那个。效果与函数shell_exec()相同。

$outip";echo "
$output
";

反引号运算符在激活了安全模式或者关闭了shell_exec()时是无效的。

注意!反引号不能在双引号字符串中使用。

递增递减运算符

递增/递减运算符不影响布尔值。

递减NULL值也没有效果,但是递增NULL的结果是1。

在处理字符变量的算术运算时,PHP沿袭了Perl的习惯,而非C的。例如,在Perl中$a = 'Z'; $a++;将把$a变成'AA'。

注意!字符变量只能递增,不能递减,并且只支持纯字母(a-z和A-Z)。递增/递减其他字符字符变量则无效,原字符串没有变化。

逻辑运算符

||or的优先级高。&&and的优先级高。

字符串运算符

第一个是连接运算符.,第二个是连接赋值运算符.=

数组运算符

  1. 联合:$a + $b。把右边的数组元素附加到左边的数组后面,两个数组中都有的键名,则只用左边数组中的,有变动额被忽略。

  2. 相等:$a == $b。具有相同的键值对。

  3. 全等:$a === $b。具有相同的键值对,并且顺序和类型都相同。

  4. 不等:$a != $b$a <> $b

  5. 不全等:$a !== $b

数组中的单元如果具有相同的键名和值则比较时相等,不要在意顺序和类型。

"banana", "0" => "apple");var_dump($a);var_dump($b);var_dump($a == $b);var_dump($a === $b);

输出结果如下所示。

array (size=2)  0 => string 'apple' (length=5)  1 => string 'banana' (length=6)array (size=2)  1 => string 'banana' (length=6)  0 => string 'apple' (length=5)boolean trueboolean false

类型运算符

PHP中有一个类型运算符instanceof,用于确定一个PHP变量是否属于某一类的实例。

注意,instanceof不允许用来检测常量。

(全文完)

转载于:https://www.cnblogs.com/sintune/p/php-operators.html

你可能感兴趣的文章
hdu 5471(状压DP or 容斥)
查看>>
oracle.jdbc.driver.OracleDriver和oracle.jdbc.OracleDriver这两个驱动的区别
查看>>
NSQ部署
查看>>
git常用命令记录
查看>>
IBM发布新一代云计算工具包MobileFirst Foundation
查看>>
唯品会HDFS性能挑战和优化实践
查看>>
大规模学习该如何权衡得失?解读NeurIPS 2018时间检验奖获奖论文
查看>>
大厂前端高频面试问题与答案精选
查看>>
我们用5分钟写了一个跨多端项目
查看>>
Visual Studio 15.4发布,新增多平台支持
查看>>
有赞透明多级缓存解决方案(TMC)设计思路
查看>>
如何设计高扩展的在线网页制作平台
查看>>
Git 2.5增加了工作树、改进了三角工作流、性能等诸多方面
查看>>
Swift 5将强制执行内存独占访问
查看>>
中台之上(二):为什么业务架构存在20多年,技术人员还觉得它有点虚?
查看>>
深度揭秘腾讯云低功耗广域物联网LPWAN 技术及应用
查看>>
与Jeff Sutherland谈敏捷领导力
查看>>
More than React(四)HTML也可以静态编译?
查看>>
React Native最佳学习模版- F8 App开源了
查看>>
云服务正在吞噬世界!
查看>>