• php 多种输入参数完整性检查


    说明:(1)输入可能有多重类型的输入,即需要对输入参数进行多次匹配。

    (2)希望能够返回缺少的参数

    代码如下:

    /**
     * @param $param  输入参数 (get,post 参数)
     * @param $array  期望存在的参数,可以为多种比如 array(array('value1','value2'),('value2','value3','value4'))
     * @return bool | string 返回结果,如果参数检查符合要求,返回true,否则返回缺少的参数
     */
    function check($param, $array)
    {
        if (!empty($array) && is_string($array[0]))
        {
            $requires = array($array);
        }
        else
        {
            $requires = $array;
        }
    
        $return_key = true;
        $current_like_percentage = -1;    // 参数匹配度(初始值需要设置为一个不可能出现的值)
    
        foreach ($requires as $keys)
        {
            $current_key = true;
            $number = 0;
            foreach ($keys as $key)
            {
                if (!array_key_exists($key,$param))
                {
                    $number++;
                    $current_key = $key;
                }
            }
    
            $like_precentage = (count($keys) - $number) / (count($keys));    //计算输入参数在当前要求输入参数的匹配率
            if ($like_precentage === 1)
            {
                return true;    //完全匹配直接返回成功
            }
            else if ($like_precentage > $current_like_percentage)
            {
                $current_like_percentage = $like_precentage;
                $return_key = $current_key;
            }
    
        }
    
        return $return_key;
    }
  • 相关阅读:
    JS-Array数组对象
    JS-Math对象
    JS-Date对象
    JS-流程控制汇集
    css笔记
    CSS3-box盒布局
    css笔记
    CSS3中的animation动画
    JS-百钱买百鸡案例-for循环制作
    JS-用js的for循环实现九九乘法表以及其他算数题等
  • 原文地址:https://www.cnblogs.com/smallrookie/p/6794906.html
Copyright © 2020-2023  润新知