弱类型

int转string

1
2
$a =1;
$stra=(string)$a;

或者

1
$stra=strval($a);

string转int

1
intval("1");

PS.遇到无法转换的直接返回0

松散比较

image-20241020162646487

小总结

image-20241020163730161

弱类型应用

MD5()

值不同却MD5相同,弱类型绕过

image-20241020170521415

0e215962017

0e291242476940776845150308577824

如果加到===,可以通过传入数组让md5()函数报错,产生null,null===null,就绕过了

json_decode()

image-20241020173004870

a={“key”:0}

MD5有个特点是:如果传入的两个参数不是字符串,而是数组,md5()函数无法解出其数值,而且不会报错,就会得到===强比较的值相等