md5('240610708')
の結果は_0e462097431906509019562988736854
_です。
md5('QNKCDZO')
の結果は_0e830400451993494058024219903391
_です。
それらは両方ともfloat数値フォーマット文字列(数値文字列)であり、 PHPで_==
_を使用します。数値を文字列と比較する場合、または比較に数値文字列が含まれる場合、各文字列は数値に変換され、比較は数値的に実行されます。
_0
_と比較すると、両方の文字列が_==
_に変換されます。これらを文字列として比較する場合は、_===
_(strict比較を使用してください)代わりに。
タイプ依存の比較演算子===
を使用する必要があります。
ハッシュはそれぞれ0e462097431906509019562988736854
および0e830400451993494058024219903391
に評価されます。 ==
を使用すると、e
(科学的表記)により、それぞれが数値表現に変換されるため、それぞれが0
になります。 0 == 0
はtrueです。
一方、これは:
md5('240610708') === md5('QNKCDZO')
stringの値が異なるため、false
を返します。 ===
は、型依存の比較を強制します。