1. 传true和false
http://www/index.php?flag=false
此时,
flag的值是false,但会被认为是字符串,所以其boolean判断永远为真。(bool)
flag的值同样永远为真。要想转换为boolean,则
filter_var($flag, FILTER_VALIDATE_BOOLEAN); // false
下面是转换参考
filter_var('true', FILTER_VALIDATE_BOOLEAN); // true
filter_var(1, FILTER_VALIDATE_BOOLEAN); // true
filter_var('1', FILTER_VALIDATE_BOOLEAN); // true
filter_var('on', FILTER_VALIDATE_BOOLEAN); // true
filter_var('yes', FILTER_VALIDATE_BOOLEAN); // true
filter_var('false', FILTER_VALIDATE_BOOLEAN); // false
filter_var(0, FILTER_VALIDATE_BOOLEAN); // false
filter_var('0', FILTER_VALIDATE_BOOLEAN); // false
filter_var('off', FILTER_VALIDATE_BOOLEAN); // false
filter_var('no', FILTER_VALIDATE_BOOLEAN); // false
filter_var('asdfasdf', FILTER_VALIDATE_BOOLEAN); // false
filter_var('', FILTER_VALIDATE_BOOLEAN); // false
filter_var(null, FILTER_VALIDATE_BOOLEAN); // false
2.传0和1
当然了,为了避免这个问题,还可以这样传
http://www/index.php?flag=1
此时,bool($flag)就可以了。