【web 开发基础】PHP 快速入门(11)-PHP 运算符之运算符的优先级
前言
PHP 开发基础开速入门系列目录:
到这里,PHP 的基本语法也讲得差不多了,认真学习的同学应该对 PHP 有了大致的了解。后面接下来就是分支语句的介绍。
运算符的优先级
在一个表达式中可能包含多个有不同运算符连接起来的、具有不同数据类型的数据对象;由于表达式有多种运算,不同的运算顺序可能得出不同结果甚至出现错误运算错误,因为当表达式中含多种运算时,必须按一定顺序进行结合,才能保证运算的合理性和结果的正确性、唯一性。
优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。
相同优先级中,按结合顺序计算。大多数运算是从左至右计算,只有三个优先级是从右至左结合的,它们分别是单目运算符、条件运算符、赋值运算符。
基本的优先级需要记住:
指针最优,单目运算优于双目运算。如正负号。
先算术运算,后移位运算,最后位运算。请特别注意:2 << 3 + 4 && 6 等价于 (2 << (3 + 4))&&6
逻辑运算最后计算。
所谓的运算符的优先级,是指在表达式中哪一个运算符应该先计算,就像我们小学学习算术的四则混合运算一样:“先乘除,后加减”。例如:表达式 1+6*5 的结果是 31 而不是 35,是因为乘号(*)的优先级比加号(+)的优先级高。必要时可以使用括号来强制改变优先级,比如:表达式:(1+6)*5 的值为 35.如果运算符优先级相同,则使用从左往右的左联顺序。运算符的优先级具体如下图
注:表中同一行中的运算符具有相同的优先级,此时它们的结合方向决定求值顺序
PHP 会根据上图中的运算符的优先级确定表达式的求值顺序,同时还可以引用小括号“()”来控制运算顺序,任何小括号内的运算将最优先进行。在以后的程序开发中尽量使用小括号来控制改变优先级,上表无需死记硬背,多用自然就熟悉。平时最好使用小括号改变表达式的优先级更加易于懂
什么是表达式
在介绍运算符的时候一直在说表达式,那在 PHP 表达式是什么?下面咱们具体了解一下:
表达式是 PHP 中最重要的基石,在 PHP 中,几乎所有编写的任何代码都可以看作一个表达式,通常是变量、常量和运算符号的组合。简单却最精确的定义一个表达式的方式就是“任何有值的东西”。以下为一些常见的表达式:
最基本的表达式是常量和变量,例如:赋值语句
$a = 1;
稍微复杂的表达式就是函数,比如:
$a = foo();
使用算术运算符中的前后自增和自减也是表达式.如:
$a++, $a--,++$a, --$a;
常用的表达式类型是:"比较表达式", 如:
$a>4; $a==5;$a>=5&&$a<=11
组合的运算赋值也是常用的表达式, 如:
$a += 3; $b *= 4; $c = ($a += 5)
还有三元运算符(? : )也是一种常用表达式: $a = ($b>4 ? $c=4 : $c=11)
版权声明: 本文为 InfoQ 作者【迷彩】的原创文章。
原文链接:【http://xie.infoq.cn/article/0cb169090ff8f5315152caa36】。文章转载请联系作者。
评论