3.intval()函数
intval() 函数通过使用指定的进制 base 转换(默认是十进制),返回变量 var 的 integer 数值。 intval() 不能用于 object,否则会产生 E_NOTICE 错误并返回 1(注意这个通常配合preg_match来使用)
语法
int intval ( mixed $var [, int $base = 10 ] )
参数说明:$var:要转换成 integer 的数量值。
$base:转化所使用的进制。如果 base为空,通过检测 var 的格式来决定使用的进制:
- 如果字符串包括了 “0x” (或 “0X”) 的前缀,使用 16 进制 (hex);
- 否则,如果字符串以 “0” 开始,使用 8 进制(octal);
- 否则,将使用 10 进制 (decimal)。
绕过方法:通过使用0x或者0开始的格式来绕过不相等的判断(像一些要先判断不相等再判断相等的题目)
$i=‘666’;
i i = ii= ii=_GET[‘n’];
if(intval( i i = = ii== ii==i,0 )){
echo $flag;
}
//n=0x29a 666