@$array['possible_missing_key'] 是反模式吗?

2024-03-20

从 PHP 数组中提取可能缺失的值时可以使用 @ 吗?例子:

$value = @$array['possibly_missing_key'];

预期行为:

if (isset($array['possibly_missing_key'])) {
    $value = $array['possibly_missing_key'];
} else {
    $value = null;
}

在传播使用模式之前我想知道。


The @运算符抑制错误消息,并使用它潜在地设置代码以防止最终难以追踪的其他错误和意外行为。因此,它肯定是一种反模式。

因此,我非常喜欢第二位。它使它变得更加清晰

  • 它可能不存在于数组中,并且
  • 如果不存在,则默认值是什么

为了使其更简洁,您可以使用三元条件运算符?:,如所示马克·贝克的回答 https://stackoverflow.com/questions/4441528/is-arraypossibly-missing-key-an-anti-pattern/4441582#4441582。代码稍少,符号较多,但含义很好理解。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

@$array['possible_missing_key'] 是反模式吗? 的相关文章

随机推荐