记住用户名密码
说明:(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; }
目前有 0 条留言 其中:访客:0 条, 博主:0 条