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 相关文章推荐
PHP学习资料汇总与网址
Mar 16 PHP
PHP Ajax中文乱码问题解决方法
Feb 27 PHP
php下连接ftp实现文件的上传、下载、删除文件实例代码
Jun 03 PHP
php中修改浏览器的User-Agent来伪装你的浏览器和操作系统
Jul 29 PHP
php array_filter除去数组中的空字符元素
Jun 21 PHP
PHP笔记之:基于面向对象设计的详解
May 14 PHP
destoon实现首页显示供应、企业、资讯条数的方法
Jul 15 PHP
php强制更新图片缓存的方法
Feb 11 PHP
深入浅出php socket编程
May 13 PHP
比较完整的微信开发php代码
Aug 02 PHP
PHP单例模式数据库连接类与页面静态化实现方法
Mar 20 PHP
PHP连接MySQL数据库操作代码实例解析
Jul 11 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模板页面中分页代码的解析
2009/02/06 PHP
PHP数据过滤的方法
2013/10/30 PHP
如何让搜索引擎抓取AJAX内容解决方案
2014/08/25 PHP
使用phpQuery获取数组的实例
2017/03/13 PHP
javascript 变量作用域 代码分析
2009/06/26 Javascript
javascript之querySelector和querySelectorAll使用说明
2011/10/09 Javascript
js简单实现根据身份证号码识别性别年龄生日
2013/11/29 Javascript
js实现上传图片及时预览
2016/05/07 Javascript
xcode中获取js文件的路径方法(推荐)
2016/11/05 Javascript
用headjs来管理和加载js 提高网站加载速度
2016/11/29 Javascript
jQuery基于ajax操作json数据简单示例
2017/01/05 Javascript
Vue-cli@3.0 插件系统简析
2018/09/05 Javascript
vue-cli 构建骨架屏的方法示例
2018/11/08 Javascript
JS如何实现动态添加的元素绑定事件
2019/11/12 Javascript
微信小程序实现上传多张图片、删除图片
2020/07/29 Javascript
Element Rate 评分的使用方法
2020/07/27 Javascript
jquery实现简易验证插件封装
2020/09/13 jQuery
Python使用getpass库读取密码的示例
2017/10/10 Python
Django框架使用富文本编辑器Uedit的方法分析
2018/07/31 Python
python调用matplotlib模块绘制柱状图
2019/10/18 Python
Python Django框架url反向解析实现动态生成对应的url链接示例
2019/10/18 Python
python数据库开发之MongoDB安装及Python3操作MongoDB数据库详细方法与实例
2020/03/18 Python
html+css3实现的登录界面
2020/12/09 HTML / CSS
伦敦最有品味的百货:Liberty London
2016/11/12 全球购物
以实惠的价格轻松租车,免费取消:Easyrentcars
2019/07/16 全球购物
个人找工作的自我评价
2013/10/17 职场文书
商务助理岗位职责
2013/11/13 职场文书
详细的大学生创业计划书模板
2014/01/27 职场文书
反邪教标语
2014/06/23 职场文书
和谐家庭事迹材料
2014/12/20 职场文书
表扬稿范文
2015/01/17 职场文书
幼儿园教师求职信
2015/03/20 职场文书
法律进社区活动总结
2015/05/07 职场文书
《一面五星红旗》教学反思
2016/02/23 职场文书
浅谈MySQL函数
2021/10/05 MySQL
js基于div丝滑实现贝塞尔曲线
2022/09/23 Javascript