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 相关文章推荐
PHPMailer邮件类利用smtp.163.com发送邮件方法
Sep 11 PHP
PHP注释实例技巧
Oct 03 PHP
PHP 图片上传代码
Sep 13 PHP
destoon实现不同会员组公司名称显示不同的颜色的方法
Aug 22 PHP
php格式化金额函数分享
Feb 02 PHP
提高php编程效率技巧
Aug 13 PHP
PHP执行linux命令常用函数汇总
Feb 02 PHP
PHP判断文件是否被引入的方法get_included_files用法示例
Nov 29 PHP
php图片合成方法(多张图片合成一张)
Nov 25 PHP
yii2多图上传组件的使用教程
May 10 PHP
php获得刚插入数据的id 的几种方法总结
May 31 PHP
CI框架简单分页类用法示例
Jun 06 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-fpm的两种进程管理模式详解
2013/06/03 PHP
PHP实现取得HTTP请求的原文
2014/08/18 PHP
php中使用Ajax时出现Error(c00ce56e)的详细解决方案
2014/11/03 PHP
9个实用的PHP代码片段分享
2015/01/22 PHP
php-app开发接口加密详解
2018/04/18 PHP
TP3.2框架分页相关实现方法分析
2020/06/03 PHP
json 入门基础教程 推荐
2009/10/31 Javascript
js滚动条回到顶部的代码
2011/12/06 Javascript
基于jquery编写的横向自适应幻灯片切换特效的实例代码
2013/08/06 Javascript
javascript中负数算术右移、逻辑右移的奥秘探索
2013/10/17 Javascript
JavaScript中setInterval的用法总结
2013/11/20 Javascript
js 实现菜单上下显示附效果图
2013/11/21 Javascript
js转化毫秒为时间格式代码
2014/04/10 Javascript
jQuery中attr()方法用法实例
2015/01/05 Javascript
JavaScript简单生成 N~M 之间随机数的方法
2017/01/13 Javascript
使用Vue-Router 2实现路由功能实例详解
2017/11/14 Javascript
bootstrap treeview 扩展addNode方法动态添加子节点的方法
2017/11/21 Javascript
vue 注册组件的使用详解
2018/05/05 Javascript
详解vue-router传参的两种方式
2018/09/10 Javascript
利用React Router4实现的服务端直出渲染(SSR)
2019/01/07 Javascript
Vue实现滑动拼图验证码功能
2019/09/15 Javascript
解决vue组件中click事件失效的问题
2019/11/09 Javascript
Vue中keep-alive 实现后退不刷新并保持滚动位置
2020/03/17 Javascript
JavaScript Blob对象原理及用法详解
2020/10/14 Javascript
Python中函数的参数定义和可变参数用法实例分析
2015/06/04 Python
Python基于pygame实现的弹力球效果(附源码)
2015/11/11 Python
Python multiprocess pool模块报错pickling error问题解决方法分析
2019/03/20 Python
Jupyter notebook 启动闪退问题的解决
2020/04/13 Python
使用python matploblib库绘制准确率,损失率折线图
2020/06/16 Python
在DELPHI中调用存储过程和使用内嵌SQL哪种方式更好
2016/11/22 面试题
银行工作检查书范文
2014/01/31 职场文书
幼儿园大班教学反思
2014/02/10 职场文书
纪律教育学习心得体会
2014/09/02 职场文书
小学教师岗位职责
2015/04/02 职场文书
分享15个Webpack实用的插件!!!
2021/03/31 Javascript
python必学知识之文件操作(建议收藏)
2021/05/30 Python