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 中的类
Oct 09 PHP
php 8小时时间差的解决方法小结
Dec 22 PHP
php 文件上传类代码
Aug 06 PHP
php excel reader读取excel内容存入数据库实现代码
Dec 06 PHP
基于PHP array数组的教程详解
Jun 05 PHP
解析PHP中的内存管理,PHP动态分配和释放内存
Jun 28 PHP
1亿条数据如何分表100张到Mysql数据库中(PHP)
Jul 29 PHP
php邮箱地址正则表达式验证
Nov 13 PHP
Ajax提交表单时验证码自动验证 php后端验证码检测
Jul 20 PHP
PHP排序算法之堆排序(Heap Sort)实例详解
Apr 21 PHP
php中错误处理操作实例分析
Aug 23 PHP
php实现根据身份证获取精准年龄
Feb 26 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
类的另类用法--数据的封装
2006/10/09 PHP
Smarty foreach控制循环次数的实现详解
2013/07/03 PHP
PHP实现根据设备类型自动跳转相应页面的方法
2014/07/24 PHP
PHP中一些可以替代正则表达式函数的字符串操作函数
2014/11/17 PHP
javascript 文档的编码问题解决
2009/03/01 Javascript
真正的JQuery.ajax传递中文参数的解决方法
2011/05/28 Javascript
JS实现随机数生成算法示例代码
2013/08/08 Javascript
js上传图片及预览功能实例分析
2015/04/24 Javascript
javascript实现简单的html5视频播放器
2015/05/06 Javascript
在JavaScript中使用开平方根的sqrt()方法
2015/06/15 Javascript
详解js跨域原理以及2种解决方案
2015/12/09 Javascript
JavaScript必知必会(七)js对象继承
2016/06/08 Javascript
微信小程序开发之圆形菜单 仿建行圆形菜单实例
2016/12/12 Javascript
Vue结合原生js实现自定义组件自动生成示例
2017/01/21 Javascript
微信小程序 如何获取网络状态
2019/07/26 Javascript
vue 中固定导航栏的实例代码
2019/11/01 Javascript
nuxt配置通过指定IP和端口访问的实现
2020/01/08 Javascript
JS+CSS实现炫酷光感效果
2020/09/05 Javascript
[15:20]DOTA2-DPC中国联赛 正赛 Elephant vs Aster 选手采访
2021/03/11 DOTA
Python用户推荐系统曼哈顿算法实现完整代码
2017/12/01 Python
Python实现翻转数组功能示例
2018/01/12 Python
Django中url的反向查询的方法
2018/03/14 Python
Python设计模式之组合模式原理与用法实例分析
2019/01/11 Python
TensorFlow2.X结合OpenCV 实现手势识别功能
2020/04/08 Python
html5+css3实现一款注册表单实例
2013/04/17 HTML / CSS
基于Modernizr 让网站进行优雅降级的分析
2013/04/21 HTML / CSS
详解HTML5中rel属性的prefetch预加载功能使用
2016/05/06 HTML / CSS
HTML5新特性之type=file文件上传功能
2018/02/02 HTML / CSS
Jacadi Paris美国官方网站:法国童装品牌
2017/10/15 全球购物
违反学校规定检讨书
2014/01/18 职场文书
继承公证书样本
2014/04/04 职场文书
演讲稿祖国在我心中
2014/05/04 职场文书
教育系统干部作风整顿心得体会
2014/09/09 职场文书
学校党的群众路线教育实践活动对照检查材料
2014/09/24 职场文书
2014年销售人员工作总结
2014/11/27 职场文书
Java死锁的排查
2022/05/11 Java/Android