php检查函数必传参数是否存在的实例详解


Posted in PHP onAugust 28, 2017

php检查函数必传参数是否存在的实例详解

在php实际编程中,接口经常会接收到前端传来的参数,其中有些参数不是必传的,有些参数是必传的,如何“检查函数必传参数是否存在”呢?为了解决该问题,可以参考以下的示例方法:

/** 
 * @brief 检测函数必传参数是否存在 
 * @param $params array 关联数组 要检查的参数 
 * @param array $mod array 索引数组 要检查的字段 
 * @param array $fields array 索引数组 额外要检查参数的字段 
 * @return bool 
 * @throws Exception 
 */ 
private function checkParamsExists($params, $mod = [], $fields = []) 
{ 
  if (empty($params)) { 
    throw new \Exception(Error::ERROR_INVALID_PARAMETER_MSG . ',[checkParamsExists] the array of params is empty', Error::ERROR_INVALID_PARAMETER_CODE); 
  } 
  $params = is_array($params) ? $params : [$params]; 
 
  if ($fields) { 
    $fields = array_flip($fields); 
    $params = array_merge($params, $fields); 
  }  
 
  foreach ($mod as $mod_key => $mod_value) { 
    if (!array_key_exists($mod_value, $params)) { 
      throw new \Exception(Error::ERROR_INVALID_PARAMETER_MSG . ',[checkParamsExists]' . json_encode($params) . ' do not have key field(' . $mod_value . ')', Error::ERROR_INVALID_PARAMETER_CODE); 
    } 
  } 
  return true; 
}

在实际应用时,于应用程序逻辑的开始处,直接调用该方法即可。

注意:其中的错误码为我自定义的错误码,使用时务必改成你自己的。

以上就是php检查函数必传参数是否存在的实例详解,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

PHP 相关文章推荐
html中select语句读取mysql表中内容
Oct 09 PHP
PHP生成静态页面详解
Nov 19 PHP
PHP生成Flash动画的实现代码
Mar 12 PHP
PHP的变量总结 新手推荐
Apr 18 PHP
PHP取整数函数常用的四种方法小结
Jul 05 PHP
php实现加减法验证码代码
Feb 14 PHP
PHP中常用的转义函数
Feb 28 PHP
自己写了一个php检测文件编码的函数
Apr 21 PHP
使用PHP生成二维码的方法汇总
Jul 22 PHP
分享10段PHP常用代码
Nov 11 PHP
apache php mysql开发环境安装教程
Jul 28 PHP
PHP文件操作实例总结
Sep 27 PHP
基于PHP的加载类操作以及其他两种魔术方法的应用实例
Aug 28 #PHP
Laravel学习教程之从入口到输出过程详解
Aug 27 #PHP
PHP使用栈解决约瑟夫环问题算法示例
Aug 27 #PHP
PHP基于递归实现的约瑟夫环算法示例
Aug 27 #PHP
PHP实现的简单sha1加密功能示例
Aug 27 #PHP
PHP实现的各类hash算法长度及性能测试实例
Aug 27 #PHP
详解PHP swoole process的使用方法
Aug 26 #PHP
You might like
PHP冒泡排序算法代码详细解读
2011/07/17 PHP
php curl post 时出现的问题解决
2014/01/30 PHP
PHP SPL标准库中的常用函数介绍
2015/05/11 PHP
php中session_id()函数详细介绍,会话id生成过程及session id长度
2015/09/23 PHP
ThinkPHP实现更新数据实例详解(demo)
2016/06/29 PHP
PHP实现UTF8二进制及明文字符串的转化功能示例
2017/11/20 PHP
js判断变量是否空值的代码
2008/10/26 Javascript
javascript innerHTML、outerHTML、innerText、outerText的区别
2008/11/24 Javascript
web前端开发也需要日志
2010/12/09 Javascript
jQuery插件开发全解析
2012/10/10 Javascript
Javascript正则控制文本框只能输入整数或浮点数
2014/09/02 Javascript
Nodejs中调用系统命令、Shell脚本和Python脚本的方法和实例
2015/01/01 NodeJs
jQuery的animate函数实现图文切换动画效果
2015/05/03 Javascript
JavaScript实现的经典文件树菜单效果
2015/09/08 Javascript
JS实现超简单的汉字转拼音功能示例
2016/12/22 Javascript
Angular组件化管理实现方法分析
2017/03/17 Javascript
浅谈从React渲染流程分析Diff算法
2018/09/08 Javascript
对angular 监控数据模型变化的事件方法$watch详解
2018/10/09 Javascript
vue使用codemirror的两种用法
2019/08/27 Javascript
python实现根据图标提取分类应用程序实例
2014/09/28 Python
不同版本中Python matplotlib.pyplot.draw()界面绘制异常问题的解决
2017/09/24 Python
python处理csv数据动态显示曲线实例代码
2018/01/23 Python
使用Python获取并处理IP的类型及格式方法
2018/11/01 Python
Python图像处理之图像的缩放、旋转与翻转实现方法示例
2019/01/04 Python
python通过matplotlib生成复合饼图
2020/02/06 Python
python实现图片转字符画的完整代码
2021/02/21 Python
实列教程 一款基于jquery和css3的响应式二级导航菜单
2014/11/13 HTML / CSS
Allsole美国/加拿大:英国一家专门出售品牌鞋子的网站
2018/10/21 全球购物
The Outnet亚太地区:折扣设计师时装店
2019/12/05 全球购物
会计实习生工作总结的自我评价
2013/10/07 职场文书
外贸业务员的岗位职责
2013/11/23 职场文书
个人自荐书
2013/12/20 职场文书
郭明义观后感
2015/06/08 职场文书
元宵节晚会主持词
2015/07/01 职场文书
导游词之四川熊猫基地
2020/01/13 职场文书
用Python写一个简易版弹球游戏
2021/04/13 Python