输入表单检查 $_POST 或 $_GET 数组


input form check for $_POST or $_GET array

public function get($item) {
    if (isset($_POST[$item]) && $_POST[$item] != '') {
        $_POST[$item] = filter_var($_POST[$item],FILTER_SANITIZE_SPECIAL_CHARS);
        if(is_numeric($_POST[$item])) {
            return (int)$_POST[$item];
        }
        return $_POST[$item];
    }else if (isset($_GET[$item]) && $_GET[$item] != '') {
              $_GET[$item] = filter_var($_GET[$item],FILTER_SANITIZE_SPECIAL_CHARS);
        if(is_numeric($_GET[$item])) {
            return (int)$_GET[$item];
        }
        return $_GET[$item];
    }
    return '';
}

有没有办法提高工作效率?和/或者你能帮我改进这段代码吗?我想检查 $_GET/$_POST 数组是否有价值。并过滤来自不良用户的所有恶意输入。

使用包含

POSTGET变量的$_REQUEST

public function get($item) {
    if (!empty($_REQUEST[$item])) {
        $_REQUEST[$item] = filter_var($_REQUEST[$item], FILTER_SANITIZE_SPECIAL_CHARS);
        return is_numeric($_REQUEST[$item]) ? (int) $_REQUEST[$item] : $_REQUEST[$item];
    }
    return '';
}