许久不曾更新这个主题了,人比较懒散了,也因为不知道还能更新什么。
还是有用户发现了一些bug,这一点要感谢那些在用这个主题的朋友们,因为我自己在做的过程中都没有发现这些问题。
今天发现的这个问题是一个多条件判断且仅在其中一个条件为 false 时执行特定逻辑的判断问题,AI给了以下的几个写法:
//第一种
if (! ($condition1 && $condition2)) {
// 执行逻辑(任意条件为 false 时触发)
}
//第二种
if (!$condition1 || !$condition2) {
// 执行逻辑(任意条件为 false 时触发)
}
//第三种
if (!$condition1) {
// 处理 condition1 为 false
} elseif (!$condition2) {
// 处理 condition2 为 false
}
//第四种
$conditions = [$condition1, $condition2, $condition3];
$hasFalse = array_reduce($conditions, fn($carry, $item) => $carry || !$item, false);
if ($hasFalse) {
// 任意条件为 false 时执行
}
//第五种
if (in_array(false, $conditions, true)) {
// 任意条件为 false 时执行
}
我是真没想过和用过array_reduce
和in_array
这样的方式去做多条件判断,总归查资料解决问题是能学到东西的。
评论