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缓存技术介绍
Nov 25 PHP
php中常用编辑器推荐
Jan 02 PHP
php学习 函数 课件
Jun 15 PHP
php 删除记录实现代码
Mar 12 PHP
PHP 网页过期时间的控制代码
Jun 29 PHP
PHP JSON 数据解析代码
May 26 PHP
PHP判断远程url是否有效的几种方法小结
Oct 08 PHP
php实现html标签闭合检测与修复方法
Jul 09 PHP
详解PHP的Yii框架的运行机制及其路由功能
Mar 17 PHP
Yii2.0 Basic代码中路由链接被转义的处理方法
Sep 21 PHP
PHP如何实现阿里云短信sdk灵活应用在项目中的方法
Jun 14 PHP
php 实现银联商务H5支付的示例代码
Oct 12 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转换文件夹下所有文件编码的实现代码
2013/06/06 PHP
linux使用crontab实现PHP执行计划定时任务
2014/05/10 PHP
php实现递归与无限分类的方法
2015/02/16 PHP
php生成二维码图片方法汇总
2016/12/17 PHP
PHP基于cookie实现统计在线人数功能示例
2019/01/16 PHP
jquery 表单下所有元素的隐藏
2009/07/25 Javascript
cloudgamer出品ImageZoom 图片放大效果
2010/04/01 Javascript
JavaScript中的值类型转换介绍
2014/12/31 Javascript
Javascript中实现trim()函数的两种方法
2015/02/04 Javascript
jQuery使用before()和after()在元素前后添加内容的方法
2015/03/26 Javascript
JQuery中DOM事件冒泡实例分析
2015/06/13 Javascript
checkbox批量选中,获取选中项的值的简单实例
2016/06/28 Javascript
微信小程序 实战小程序实例
2016/10/08 Javascript
node+experss实现爬取电影天堂爬虫
2016/11/20 Javascript
Bootstrap实现带暂停功能的轮播组件(推荐)
2016/11/25 Javascript
关于Angular2 + node接口调试的解决方案
2017/05/28 Javascript
Node.js 进程平滑离场剖析小结
2019/01/24 Javascript
微信小程序拍照和摄像功能实现方法示例
2019/02/01 Javascript
vue实现路由懒加载及组件懒加载的方式
2019/06/11 Javascript
JavaScript canvas仿代码流瀑布
2020/02/10 Javascript
vue+iview使用树形控件的具体使用
2020/11/02 Javascript
python调用cmd复制文件代码分享
2013/12/27 Python
Python中的引用和拷贝浅析
2014/11/22 Python
Python实现字典的key和values的交换
2015/08/04 Python
对python插入数据库和生成插入sql的示例讲解
2018/11/14 Python
PyQt5 加载图片和文本文件的实例
2019/06/14 Python
解决python flask中config配置管理的问题
2019/07/26 Python
使用python实现画AR模型时序图
2019/11/20 Python
Python实现的北京积分落户数据分析示例
2020/03/27 Python
Python3内置函数chr和ord实现进制转换
2020/06/05 Python
python从PDF中提取数据的示例
2020/10/30 Python
Yves Rocher捷克官方网站:植物化妆品的创造者
2019/07/31 全球购物
电子技术专业中专生的自我评价
2013/12/17 职场文书
体育教育专业自荐信范文
2013/12/20 职场文书
英语辞职信范文
2015/02/28 职场文书
决心书格式范文
2015/09/23 职场文书