您的位置:首页 > 编程语言 > PHP开发

PHP如何优雅的从url中获得一个boolean值

2016-01-08 14:56 309 查看

1. 传true和false

http://www/index.php?flag=false

此时,flag的值是false,但会被认为是字符串,所以其boolean判断永远为真。(bool)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)就可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: