加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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的返回值.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读