答案 0 :(得分:36)
md5('240610708')
的结果是0e462097431906509019562988736854
。
md5('QNKCDZO')
的结果是0e830400451993494058024219903391
。
它们都是浮点数格式字符串(数字字符串),如果在php中使用==
,则将数字与字符串进行比较或者比较涉及数字字符串,然后将每个字符串转换为数字,并以数字方式进行比较。
与0
相比,这两个字符串都转换为==
,如果您想将它们作为字符串进行比较,请记住使用===
(严格比较)而不是。
答案 1 :(得分:11)
您需要使用类型敏感的比较运算符===
。
哈希分别评估为0e462097431906509019562988736854
和0e830400451993494058024219903391
。当您使用==
时,由于e
(科学记数法),每个都会转换为数字表示,因此每个都变为0
。 0 == 0
是真的。
另一方面,这个:
md5('240610708') === md5('QNKCDZO')
返回false
,因为字符串值不同。 ===
强制进行类型敏感的比较。