一般地说,操作符具有一组优先级,也就是执行它们的顺序。
操作符还具有结合性,也就是同一优先级的操作符的执行顺序。这种顺序通常有从左到右(简称左)、从右到左(简称右)或者不相关。
表1-7给出了PHP操作符的优先级和结合性。在这个表中,最上面的操作符优先级最低,按着表的由上而下的顺序,优先级递增。
请注意,我们还没有包括优先级最高的操作符:普通的圆括号。它的作用就是提高圆括号内部操作符的优先级。这样,在需要的时候,就可以避开操作符的优先级法则。
请记住这一部分的一个例子:
$totalamount=$totalamount*(1+$taxrate);
如果写成:
$totalamount=$totalamount*1+$taxrate;
乘号就具有比加号更高的优先级,从而优先进行计算,这样就会得到一个错误的结果。
通过使用圆括号,可以强制先计算1+$taxrate子表达式。
可以在一个表达式中使用任意个圆括号,最里层圆括号的表达式将最先计算。
在上表中,另一个需要注意的但没有介绍的操作符是print语言结构,它等价于echo语句。这两个结构都将生成输出。
通常,在本书中,我们会使用echo,但是如果你认为print更容易阅读,也可以使用print语句。print和echo都不是真正的函数,但是都可以用带有参数的函数形式进行调用。二者都可以当作一个操作符:只要将要显示的字符串放置在echo或print关键字之后。
以函数形式调用print将使其返回一个值(1)。如果希望在一个更复杂的表达式中生成输出,这个功能可能是有用的,但是print要比echo的速度慢。