tan*_*ist 7 php get filter-input
如果所述参数设置(和数字),我想有一个干净,优雅的方法将变量设置为GET参数,如果未设置,则设置为0(或其他默认值).
现在我有:
if (($get_id = filter_input(INPUT_GET, 'id', FILTER_VALIDATE_INT))) {
$opened_staff['id'] = $get_id;
// some database queries etc.
} else { $opened_staff['id'] = 0; }
Run Code Online (Sandbox Code Playgroud)
我尝试使用一个回调函数,如果值为null或不是数字,则返回0,但如果未设置GET参数'id',则甚至不会调用回调 - 它只是设置$get_id为null.
包含else语句没什么大不了的,只是觉得我可能错过了一些功能filter_input.
Sal*_*n A 17
该filter_input函数接受一个options参数.每个过滤器都接受不同的选 例如,FILTER_VALIDATE_INT过滤器可以接受default,min_range并max_range选择在此描述.
$get_id = filter_input(INPUT_GET, 'id', FILTER_VALIDATE_INT, array("options" => array(
"default" => 0,
"min_range" => 0
)));
var_dump($get_id);
// $get_id = 0 when id is not present in query string, not an integer or negative
// $get_id = <that integer> otherwise
Run Code Online (Sandbox Code Playgroud)