检查是否为空与根本不检查

马可

我的代码完成了,我正在尝试对其进行优化。我想知道以下两个是否相同,或者我错过了可能在以后引起问题的东西?

$this_awardid = !empty($_POST['awardid']) ? $_POST['awardid'] : null;

if (empty($this_awardid) ) {
    ...
} elseif (!empty($this_awardid)) {
    ...
}

我已经像这样对代码进行了优化……我假设$this_awardid它不是空的,所以没有必要进行验证。这种逻辑正确吗?

if (empty($this_awardid) ) {
   ...
} else {
   ...
}

您正在$this_awardid此处定义它保证存在。根本不需要使用empty它,因为所有empty操作都是抑制不存在的变量的错误消息。如果您发现错误消息不存在,则希望得到错误消息$this_awardid,因为这意味着您的代码有很多错误。

其次,if (a) else if (!a)永远多余的; 您无需再次测试条件的逆条件,条件if..else本身已经包含该条件

因此,您需要做的是:

if (!$this_awardid) {
   ...
} else {
   ...
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章