我总是从stackoverflow的答案中解脱出来,而且我所做的一切“===”优于“==”,因为使用了更严格的比较,你不浪费资源转换价值类型,以便检查一场比赛
我可能以错误的假设来到这里,所以我认为这个问题的一部分是,“我的假设是真的吗?
其次,
我正在专门处理我以数据库“100”形式从数据库获取数据的情况.
我正在比较的代码是…
if ($this->the_user->group == 100) //admin { Response::redirect('admin/home'); } else // other { Response::redirect('user/home'); }
与
if ( (int) $this->the_user->group === 100) //admin { Response::redirect('admin/home'); } else // other { Response::redirect('user/home'); }
甚至
if (intval($this->the_user->group) === 100) //admin { Response::redirect('admin/home'); } else // other { Response::redirect('user/home'); }
是通过手动转换或转换获得的任何完整性(或性能),以便您可以使用身份(‘===’)比较?
在你的特殊情况下==是更好的选择.正如你(可以在你的代码中看到的)可能已经发现许多数据库函数总是返回字符串,即使你获取一个整数.所以键入严格的比较真的只会使你的代码膨胀.
此外,您还在增加潜力(让我们称之为理论)安全风险.例如. (int)’100AB2’将产生100.在你的情况下,这可能不会发生,但在其他情况下可能会发生.
所以不要过度使用严格的比较,这并不总是好的.你主要只需要在不明确的情况下,像strpos的返回值.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。