php弱类型

弱类型

比较:
=== 强等于 :先判断两种字符串的类型,再比较
== 弱等于 :先将字符串类型转换成相同,再比较

如果一个数值和字符串进行比较的时候,会将字符串转换成数值
Abc == 0
1abc == 1
Abc1 == 0
0e123 == 0e456 //0e被识别为科学计数法

如果该字符串没有包含’.’,’e’,’E’并且其数值值在整形的范围之内
该字符串被当作int来取值,其他所有情况下都被作为float来取值,该字符串的开始部分决定了它的值,如果该字符串以合法的数值开始,则使用该数值,否则其值为0

a = 1 + “10.5” //a = 11.5
b = 1 + “-1.1e3” //a = -1099
c = 1 + “ab123” //c = 1
d = 1+”2ab” //d = 3

MD5绕过
0e在比较的时候会将其视作为科学计数法,所以无论0e后面是什么,0的多少次方还是0

QNKCDZO
0e830400451993494058024219903391

s878926199a
0e545993274517709034328855841020

s155964671a
0e342768416822451524974117254469

s214587387a
0e848240448830537924465865611904

s214587387a
0e848240448830537924465865611904

s878926199a
0e545993274517709034328855841020

s1091221200a
0e940624217856561557816327384675

s1885207154a
0e509367213418206700842008763514