有谁知道这样的表示怎么理解?

2016-07-07 15:24 来源:www.chinab4c.com 作者:ecshop专家

empty($cron['del_order_day']) && $cron['del_order_day'] = 7;
是不是 if (empty($cron['del_order_day'])) {
$cron['del_order_day'] = 7;

}
等效?

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

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

楼上的可能误解我的意思了
empty($cron['del_order_day']) && $cron['del_order_day'] = 7;
这句是一个语句。

顶上去

&& 逻辑运算符 ~~ 类似于and