在验证用户输入时使用这两个函数之一有什么区别?严格来说,关于函数调用,不需要更改$_POST数组.
$result = filter_var($_POST[‘user_input’], FILTER_VALIDATE_INT);
VS
$result = filter_input(INPUT_POST, ‘user_input’, FILTER_VALIDATE_INT);
或者上述两个电话之间没有区别,甚至表现不明智,而只是一个偏好问题?
PS:我知道在SO-Differences between filter_var and filter_input上有一个类似的问题 – 但这只是说明应该如何调用2种方法,而不是实际的差异.
解决方法:
如果请求主体根本不包含参数user_input,$_POST [‘user_input’]将触发通知,filter_input(INPUT_POST,’user_input’,..)将不会.