PHP过滤器函数应用

// 接收传入参数
$newData = [];
foreach ($MysqlTable as $k => $v) {
    $type    = isset($v['type'])    ? $v['type'] : 'string';
    $default = isset($v['default']) ? $v['default'] : null;
    $desc    = isset($v['desc'])    ? $v['desc'] : '';
    switch ($type) {
        case 'string':      // 字符串
            $value = filter_input(INPUT_POST, $k, FILTER_SANITIZE_STRING);
            break;
        case 'int':         // 数字
            $value = filter_input(INPUT_POST, $k, FILTER_VALIDATE_INT);
            break;
        case 'float':       // 浮点数
            $value = filter_input(INPUT_POST, $k, FILTER_VALIDATE_FLOAT);
            break;
        case 'bool':        // 布尔
            $value = filter_input(INPUT_POST, $k, FILTER_VALIDATE_BOOLEAN);
            break;
        default:            // 其他 正则验证 FILTER_VALIDATE_REGEXP
            $value = $default;
            break;
    }
    if ($value === null) {
        ret(402, [], '参数:'. $k .' '. $desc .' 不存在。');
    } else {
        if ($value === false){
            ret(401, $_POST, '参数:'. $k .' '. $desc .'不符合要求。');
        } else {
            $newData[$k] = $value;
        }
    }
}
最后修改:2020 年 11 月 08 日 06 : 38 PM
如果觉得我的文章对你有用,请随意赞赏

发表评论