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; }

 

转载于:https://www.cnblogs.com/smallrookie/p/6794906.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值