今天看到项目里的一行代码:foreach ($groupInfo as $k=>$v)
{
$groupInfo[$k]['gIsOpen'] = false || ($a < $b);
}说实话没见过这样的写法,谁能解释一下foreach里的这行代码?
2 回答

Cats萌萌
TA贡献1805条经验 获得超9个赞
多此一举……!
在 js 中 ,采用此运算会返回成立的那一个的值。
php 中 永远都是返回布尔值来表示这个表达式是否成立。
一句句来false 表示不成立了 但是因为 || 的存在,所以会尝试后一条表达式,然后如果后一条表达式返回 true ,那这个就成立,否则不成立。
最终的返回值也是取决于后面表达式做算出来的布尔值。

人到中年有点甜
TA贡献1895条经验 获得超7个赞
$a < $b 比大小返回 true/false,false || false 为 false , false || true 为 true ,如下:
var_dump(false || (1 < 2));
var_dump(false || (2 < 1));
- 2 回答
- 0 关注
- 523 浏览
添加回答
举报
0/150
提交
取消