似乎PHP'的===
运算符是区分大小写的?那么有没有理由使用 strcmp()
?做这样的事是否安全?
if ( $password === $password2 ) { ... }
使用==
可能会有危险。
请注意,如果两者不同,它将把变量转为另一种数据类型。
例子。
echo (1 == '1') ? 'true' : 'false';
.echo (1 == true) ? 'true' : 'false';
。正如你所看到的,这两个是来自不同的类型,但结果是true
,这可能不是你的代码所期望的。
然而,建议使用===
,因为测试表明它比strcmp()
和其不区分大小写的替代方法strcasecmp()
要快一些。
快速的谷歌搜索显示了这个速度比较:http://snipplr.com/view/758/