php 弱类型总结 特别注意: md5(), json_encode(), array_search(), strcmp(), switch() ,in_array() 这几个容易涉及到php弱类型的函数 描述:php中有两种比较的符号 == 与 === === 在进行比较的时候,会先判断两种字符串的类型是否相等,再比较值是否相等 == 在进行比较的时候,会先将字符串类型转化成相同,再比较值 如果比较一个数字和字符串或者比较涉及到数字内容的字符串,则字符串会被转换成数值并且比较按照数值来进行 漏洞关键: 当一个字符串欸当作一个数值来取值,其结果和类型如下:如果该字符串没有包含'.','e','E'并且其数值值在整形的范围之内 该字符串被当作int来取值,其他所有情况下都被作为float来取值,该字符串的开始部分决定了它的值,如果该字符串以合法的数值开始,则使用该数值,否则其值为0 。 <?php 2 var_dump("admin"==0); //true 3 var_dump("1admin"==1); //true 4 var_dump("admin1"==1) //false 5 var_dump("admin1"==0) //true 6 var_dump("0e123456"=="0e4456789"); //true 7 ?> //上述代码可自行测试 1 观察上述代码,