运算符优先级
    运算符优先级指定了两个表达式绑定得有多“紧密”。例如,表达式 1 + 5 *
    3 的结果是 16 而不是 18 是因为乘号(“*”)的优先级比加号(“+”)高。必要时可以用括号来强制改变优先级。例如:(1 + 5) * 3 的值为 18。
   
    下表从低到高列出了运算符的优先级。
    
表格 10-1. 运算符优先级
| 结合方向 | 运算符 | 
|---|
| 左 | , | 
| 左 | or | 
| 左 | xor | 
| 左 | and | 
| 右 | print | 
| 右 | = += -= *= /= .= %= &= |= ^= ~= <<= >>= | 
| 左 | ? : | 
| 左 | || | 
| 左 | && | 
| 左 | | | 
| 左 | ^ | 
| 左 | & | 
| 无 | == != === !== | 
| 无 | < <= > >= | 
| 左 | << >> | 
| 左 | + - . | 
| 左 | * / % | 
| 右 | ! ~ ++ -- (int) (float) (string) (array) (object) @ | 
| 右 | [ | 
| 无 | new | 
注: 
     尽管 ! 比 = 的优先级高,PHP
     仍旧允许类似如下的表达式:if (!$a = foo()),在此例中
     foo() 的输出被赋给了 $a。