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 图像尺寸调整代码
May 26 PHP
php xml 入门学习资料
Jan 01 PHP
JpGraph php柱状图使用介绍
Aug 23 PHP
php插入中文到sqlserver 2008里出现乱码的解决办法分享
Jul 19 PHP
php变量范围介绍
Oct 15 PHP
PHP实现动态柱状图改进版
Mar 30 PHP
PHP中如何使用session实现保存用户登录信息
Oct 20 PHP
解决微信授权回调页面域名只能设置一个的问题
Dec 11 PHP
什么是PHP文件?如何打开PHP文件?
Jun 27 PHP
PHP框架Laravel中使用UUID实现数据分表操作示例
May 30 PHP
Laravel中为什么不使用blpop取队列详析
Aug 01 PHP
PHP延迟静态绑定使用方法实例解析
Sep 05 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
php下MYSQL limit的优化
2008/01/10 PHP
递归删除一个节点以及该节点下的所有节点示例
2014/03/19 PHP
PHP在网页中动态生成PDF文件详细教程
2014/07/05 PHP
PHP新建类问题分析及解决思路
2015/11/19 PHP
PHP调用微博接口实现微博登录的方法示例
2018/09/22 PHP
基于javascript实现动态显示当前系统时间
2016/01/28 Javascript
javascript如何定义对象数组
2016/06/07 Javascript
jQuery的Each比JS原生for循环性能慢很多的原因
2016/07/05 Javascript
浅谈angularjs $http提交数据探索
2017/01/20 Javascript
JS对象是否拥有某属性如何判断
2017/02/03 Javascript
JavaScript实现简单图片轮播效果
2017/08/21 Javascript
Express的HTTP重定向到HTTPS的方法
2018/06/06 Javascript
js 函数性能比较方法
2020/08/24 Javascript
python计算圆周长、面积、球体体积并画出圆
2014/04/08 Python
python中的编码知识整理汇总
2016/01/26 Python
基于python实现的抓取腾讯视频所有电影的爬虫
2016/04/22 Python
Django中的文件的上传的几种方式
2018/07/23 Python
pyqt5对用qt designer设计的窗体实现弹出子窗口的示例
2019/06/19 Python
Python2和3字符编码的区别知识点整理
2019/08/08 Python
django 实现celery动态设置周期任务执行时间
2019/11/19 Python
浅谈keras的深度模型训练过程及结果记录方式
2020/01/24 Python
通过python检测字符串的字母
2020/02/18 Python
Python新手学习标准库模块命名
2020/05/29 Python
安装不同版本的tensorflow与models方法实现
2021/02/20 Python
css3实现顶部社会化分享按钮示例
2014/05/06 HTML / CSS
CSS3的transition和animation的用法实例介绍
2014/08/20 HTML / CSS
泰国的头号网上婴儿用品店:Motherhood.co.th
2019/04/09 全球购物
教育学专业毕业生的自我鉴定
2013/11/26 职场文书
内容编辑个人求职信
2013/12/10 职场文书
全国道德模范事迹
2014/02/01 职场文书
代办委托书怎么写
2014/08/01 职场文书
英语课前三分钟演讲稿(6篇)
2014/09/13 职场文书
商超业务员岗位职责
2015/02/13 职场文书
2016年清明节红领巾广播稿
2015/12/17 职场文书
担保书范文
2019/07/09 职场文书
十大最强奥特曼武器:怪兽战斗仪在榜,第五奥特之父只使用过一次
2022/03/18 日漫