var_dump(md5('240610708') == md5('QNKCDZO'));输出:
bool(true)示例: http://3v4l.org/2vrMi
发布于 2014-03-03 06:39:44
md5('240610708')的结果是0e462097431906509019562988736854。
md5('QNKCDZO')的结果是0e830400451993494058024219903391。
它们都是浮点数格式字符串(数值字符串),如果在php中使用==,则当将数字与字符串进行比较或比较涉及数字字符串时,则每个字符串被转换为数字并执行数字比较。
与0相比,这两个字符串都被转换为==,如果您想将它们作为字符串进行比较,请记住使用===( strings )代替。
发布于 2014-03-03 06:40:25
您需要使用类型敏感的比较运算符===。
散列计算结果分别为0e462097431906509019562988736854和0e830400451993494058024219903391。当您使用==时,由于e (科学表示法),它们都被转换为数字表示,因此它们都成为0。0 == 0是真的。
另一方面,这是:
md5('240610708') === md5('QNKCDZO')返回false,因为字符串值不同。===强制类型敏感的比较.
https://stackoverflow.com/questions/22140204
复制相似问题