我希望我的查询参数为true,除非另有明确设置。
$a = filter_input(INPUT_GET, 'v', FILTER_VALIDATE_BOOLEAN,
array('options' => array('default' => true)));
var_dump($a);
但是,像/test.php?v=false这样访问此脚本会打印bool(true)
。
此外,它始终在任何输入上打印bool(true)
。
答案 0 :(得分:1)
您需要将FILTER_NULL_ON_FAILURE
作为选项标记传递,以便您编码而不是:
$a = filter_input(INPUT_GET, 'v', FILTER_VALIDATE_BOOLEAN, array('options' => array('default' => true)));
应该是:
$a = filter_input(INPUT_GET, 'v', FILTER_VALIDATE_BOOLEAN, array('options' => array('default' => true), 'flags' => FILTER_NULL_ON_FAILURE));