php – 身份条件“===”,性能和转换
发布时间:2020-12-13 16:30:27 所属栏目:PHP教程 来源:网络整理
导读:我总是从stackoverflow的答案中解脱出来,而且我所做的一切“===”优于“==”,因为使用了更严格的比较,你不浪费资源转换价值类型,以便检查一场比赛 我可能以错误的假设来到这里,所以我认为这个问题的一部分是,“我的假设是真的吗? 其次, 我正在专门处理我以
我总是从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的返回值. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |