php 运算符优先级:算术运算与字符连接运算同级

$sql=”delete from `log_view` where `dz_uid`={$dz_uid} and `time`>”.$today_unixtime-86400;

$sql=”delete from `log_view` where `dz_uid`={$dz_uid} and `time`>”.($today_unixtime-86400);

这两个语句的结果是完全不一样的。

手册时说:”左联表示表达式从左向右求值,右联相反”,差点杯具了~~

————php手册里的原话————————

下表从高到低列出了运算符的优先级。同一行中的运算符具有相同优先级,此时它们的结合方向决定求值顺序。

表格 15-1. 运算符优先级

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

左联表示表达式从左向右求值,右联相反。

发表评论?

0 条评论。

发表评论