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

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

PHP的===运算符似乎区分大小写?那么有什么理由可以使用strcmp()吗?做以下事情是否安全:

if ( $password === $password2 ) { ... }


长风秋雁
浏览 480回答 3
3回答

呼啦一阵风

使用它的原因是因为&nbsp;strcmp如果str1小于str2,则返回<0;&nbsp;如果str1大于str2则> 0,如果它们相等则为0。===只返回true或者false,它不会告诉你哪个是“更大”的字符串。

紫衣仙女

你永远不应该==用于字符串比较。===没关系$something&nbsp;=&nbsp;0;echo&nbsp;('password123'&nbsp;==&nbsp;$something)&nbsp;?&nbsp;'true'&nbsp;:&nbsp;'false';只需运行上面的代码,你就会明白为什么。$something&nbsp;=&nbsp;0;echo&nbsp;('password123'&nbsp;===&nbsp;$something)&nbsp;?&nbsp;'true'&nbsp;:&nbsp;'false';现在,这好一点。

慕尼黑的夜晚无繁华

不要==在PHP中使用。它不会做你期望的。即使您将字符串与字符串进行比较,PHP也会隐式地将它们转换为浮点数,并在它们看起来是数字时进行数值比较。例如,'1e3' == '1000'返回true。你应该使用===。
打开App,查看更多内容
随时随地看视频慕课网APP