为了账号安全,请及时绑定邮箱和手机立即绑定

使用==与strcmp进行字符串比较

使用==与strcmp进行字符串比较

PHP
长风秋雁 2019-07-29 17:08:44
使用==与strcmp进行字符串比较PHP的===运算符似乎区分大小写?那么有什么理由可以使用strcmp()吗?做以下事情是否安全:if ( $password === $password2 ) { ... }
查看完整描述

3 回答

?
呼啦一阵风

TA贡献1802条经验 获得超6个赞

使用它的原因是因为 strcmp

如果str1小于str2,则返回<0; 如果str1大于str2则> 0,如果它们相等则为0。

===只返回true或者false,它不会告诉你哪个是“更大”的字符串。


查看完整回答
反对 回复 2019-07-29
?
紫衣仙女

TA贡献1839条经验 获得超15个赞

你永远不应该==用于字符串比较。===没关系

$something = 0;echo ('password123' == $something) ? 'true' : 'false';

只需运行上面的代码,你就会明白为什么。

$something = 0;echo ('password123' === $something) ? 'true' : 'false';

现在,这好一点。


查看完整回答
反对 回复 2019-07-29
?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

不要==在PHP中使用。它不会做你期望的。即使您将字符串与字符串进行比较,PHP也会隐式地将它们转换为浮点数,并在它们看起来是数字时进行数值比较。

例如,'1e3' == '1000'返回true。你应该使用===


查看完整回答
反对 回复 2019-07-29
  • 3 回答
  • 0 关注
  • 479 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信