php可变长参数处理函数详解


Posted in PHP onFebruary 22, 2017

本文实例讲述了php可变长参数处理函数。分享给大家供大家参考,具体如下:

与C++一样,PHP中也可以对含有可变参数的函数进行处理,道理都一样,需要函数来专门处理参数列表。PHP中提供了三个相关的函数:

1. func_num_args()  -- 返回传递给函数的参数个数

int func_num_args ( void )

示例:

function open_database($DB, $cache_size_or_values=null, $cache_size=null)
{
  switch (function_num_args())
  {
    case 1:
      $r = select_db($DB);
      break;
    case 2:
      $r = select_db($DB, $cache_size_or_values);
      break;
    case 3:
      $r = select_db($DB, $cache_size_or_values, $cache_size);
      break;
  }
  return is_resource($r);
}

2. func_get_arg()  -- 返回指定的参数

mixed func_get_arg ( int arg_num)

参数列表中的第一个参数的 arg_num 是0

<?php
  function some_func($a, $b)
  {
    for($i = 0; $i<func_num_args(); ++$i)
    {
      $param = func_get_arg($i);
      echo "the param is $param\n"
    }
  }
  some_func(1,3,5,7,9);
?>

3. func_get_args()  -- 以数组的形式返回参数列表

array func_get_args ( void )

示例:

<?php
  function some_other_func($a, $b)
  {
    $param = func_get_args();
    $param = join(", ", $param);  // 分解显示
    echo "the arglist is: $param\n";
  }
  some_other_func(1,3,5,7,9);
?>

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
劣质的PHP代码简化
Feb 08 PHP
discuz authcode 经典php加密解密函数解析
Jul 12 PHP
兼容PHP和Java的des加密解密代码分享
Jun 26 PHP
php之curl设置超时实例
Nov 03 PHP
PHP数据对象PDO操作技巧小结
Sep 27 PHP
php 运算符与表达式详细介绍
Nov 30 PHP
Zend Framework实现自定义过滤器的方法
Dec 09 PHP
记录一次排查PHP脚本执行卡住的问题
Dec 27 PHP
PHP性能分析工具xhprof的安装使用与注意事项
Dec 19 PHP
基于 Swoole 的微信扫码登录功能实现代码
Jan 15 PHP
PHP中将一个字符串部分字符用星号*替代隐藏的实现代码
Sep 08 PHP
Laravel 实现Eloquent模型分组查询并返回每个分组的数量 groupBy()
Oct 23 PHP
php操作access数据库的方法详解
Feb 22 #PHP
Smarty3配置及入门语法
Feb 22 #PHP
PHP中ajax无刷新上传图片与图片下载功能
Feb 21 #PHP
PHP+JavaScript实现无刷新上传图片
Feb 21 #PHP
PHP编辑器PhpStrom运行缓慢问题
Feb 21 #PHP
如何离线执行php任务
Feb 21 #PHP
PHP实现上传多文件示例代码
Feb 20 #PHP
You might like
Yii查询生成器(Query Builder)用法实例教程
2014/09/04 PHP
php 指定范围内多个随机数代码实例
2016/07/18 PHP
php组合排序简单实现方法
2016/10/15 PHP
PHP vsprintf()函数格式化字符串操作原理解析
2020/07/14 PHP
Flash+XML滚动新闻代码 无图片 附源码下载
2007/11/22 Javascript
Textarea与懒惰渲染实现代码
2012/01/04 Javascript
js实现幻灯片效果(基于jquery插件)
2013/11/05 Javascript
jQuery插件pagewalkthrough实现引导页效果
2015/07/05 Javascript
动态加载js、css的简单实现代码
2016/05/26 Javascript
JS 终止执行的实现方法
2016/11/24 Javascript
Bootstrap select下拉联动(jQuery cxselect)
2017/01/04 Javascript
js实现随机抽选效果、随机抽选红色球效果
2017/01/13 Javascript
js实现导航栏中英文切换效果
2017/01/16 Javascript
three.js快速入门【推荐】
2017/01/21 Javascript
javascript事件的绑定基础实例讲解(34)
2017/02/14 Javascript
JSON与js对象序列化实例详解
2017/03/16 Javascript
JS表单提交验证、input(type=number) 去三角 刷新验证码
2017/06/21 Javascript
AngularJS常见过滤器用法实例总结
2017/07/06 Javascript
Vue中import from的来源及省略后缀与加载文件夹问题
2020/02/09 Javascript
javascript利用键盘控制小方块的移动
2020/04/20 Javascript
[53:36]Liquid vs VP Supermajor决赛 BO 第三场 6.10
2018/07/05 DOTA
Python实现高效求解素数代码实例
2015/06/30 Python
Python使用dis模块把Python反编译为字节码的用法详解
2016/06/14 Python
关于python写入文件自动换行的问题
2018/06/23 Python
Python列表推导式与生成器用法分析
2018/08/02 Python
python获取磁盘号下盘符步骤详解
2019/06/19 Python
Python爬取豆瓣视频信息代码实例
2019/11/16 Python
GUESS盖尔斯法国官网:美国时尚品牌
2016/09/23 全球购物
Beauty Expert美国/加拿大:购买奢侈美容产品
2018/12/05 全球购物
介绍一下ICMP(Internet Control Message Protocol)Internet控制信息协议
2016/11/26 面试题
警察思想汇报
2014/01/04 职场文书
模具专业毕业推荐信
2014/03/08 职场文书
药品营销策划方案
2014/06/15 职场文书
色戒观后感
2015/06/12 职场文书
详解CSS开发过程中的20个快速提升技巧
2021/05/21 HTML / CSS
IIS服务器中设置HTTP重定向访问HTTPS
2022/04/29 Servers