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 计算两个时间戳相隔的时间的函数(小时)
Dec 18 PHP
从手册去理解分析PHP session机制
Jul 17 PHP
解析Linux下Varnish缓存的配置优化
Jun 20 PHP
php使用qr生成二维码的示例分享
Jan 20 PHP
PHP检测移动设备类mobile detection使用实例
Apr 14 PHP
PHP函数in_array()使用详解
Aug 20 PHP
PHP采用get获取url汉字出现乱码的解决方法
Nov 13 PHP
Codeigniter实现发送带附件的邮件
Mar 19 PHP
PHP读取配置文件类实例(可读取ini,yaml,xml等)
Jul 28 PHP
php cookie工作原理与实例详解
Jul 18 PHP
PHP排序算法之归并排序(Merging Sort)实例详解
Apr 21 PHP
ThinkPHP实现的rsa非对称加密类示例
May 29 PHP
浅谈Laravel队列实现原理解决问题记录
Aug 19 #PHP
yii2 commands模式以及配置crontab定时任务的方法
Aug 19 #PHP
利用 fsockopen() 函数开放端口扫描器的实例
Aug 19 #PHP
PHPMailer使用QQ邮箱实现邮件发送功能
Aug 18 #PHP
PHP实现自动发送邮件功能代码(qq 邮箱)
Aug 18 #PHP
详解PHP如何更好的利用PHPstorm的自动提示
Aug 18 #PHP
Laravel学习教程之本地化模块
Aug 18 #PHP
You might like
网站用php实现paypal整合方法
2010/11/28 PHP
通过5个php实例细致说明传值与传引用的区别
2012/08/08 PHP
PHP 冒泡排序 二分查找 顺序查找 二维数组排序算法函数的详解
2013/06/25 PHP
PHP中redis的用法深入解析
2014/02/20 PHP
PHP错误和异长常处理总结
2014/03/06 PHP
PHP运行模式汇总
2016/11/06 PHP
详解PHP中的8个魔术常量
2020/07/06 PHP
在linux中使用包管理器安装node.js
2015/03/13 Javascript
理解JavaScript事件对象
2016/01/25 Javascript
jQuery操作属性和样式详解
2016/04/13 Javascript
jQuery遍历DOM节点操作之filter()方法详解
2016/04/14 Javascript
基于JS实现EOS隐藏错误提示层代码
2016/04/25 Javascript
JS实现漂亮的时间选择框效果
2016/08/20 Javascript
浅谈Web页面向后台提交数据的方式和选择
2016/09/23 Javascript
JS求解三元一次方程组值的方法
2017/01/03 Javascript
DWR3 访问WEB元素的两种方法实例详解
2017/01/03 Javascript
浅谈在react中如何实现扫码枪输入
2018/07/04 Javascript
微信小程序修改swiper默认指示器样式的实例代码
2018/07/18 Javascript
微信小程序实现用table显示数据库反馈的多条数据功能示例
2019/05/07 Javascript
Python中apply函数的用法实例教程
2014/07/31 Python
Python中shutil模块的常用文件操作函数用法示例
2016/07/05 Python
Python IDLE入门简介
2017/12/08 Python
python实现随机森林random forest的原理及方法
2017/12/21 Python
pandas DataFrame 删除重复的行的实现方法
2019/01/29 Python
Pandas+Matplotlib 箱式图异常值分析示例
2019/12/09 Python
使用Python爬虫库requests发送请求、传递URL参数、定制headers
2020/01/25 Python
18-35岁旅游团的全球领导者:Contiki
2017/02/08 全球购物
跟单文员的岗位职责
2013/11/14 职场文书
优秀员工个人的自我评价
2013/11/29 职场文书
运动会广播稿80字
2014/01/23 职场文书
婚前保证书
2014/04/29 职场文书
优秀少先队辅导员先进事迹材料
2014/05/18 职场文书
植树造林的宣传标语
2014/06/23 职场文书
旅行社计调工作总结
2015/08/12 职场文书
python unittest单元测试的步骤分析
2021/08/02 Python
《群青的幻想曲》京力秋树角色PV公开
2022/04/08 日漫