PHP实现动态获取函数参数的方法示例


Posted in PHP onApril 02, 2018

本文实例讲述了PHP实现动态获取函数参数的方法。分享给大家供大家参考,具体如下:

PHP 在用户自定义函数中支持可变数量的参数列表。其实很简单,只需使用 func_num_args()func_get_arg() ,和 func_get_args()  函数即可。

可变参数并不需要特别的语法,参数列表仍按函数定义的方式传递给函数,并按通常的方式使用这些参数。

1. func_num_args — 返回传入函数的参数总个数

int func_num_args ( void )

示例

<?php
function demo ()
{
  $numargs = func_num_args ();
  echo "参数个数为: $numargs \n" ;
}
demo ( 'a' , 'b' , 'c' );

运行结果

参数个数为: 3

2. func_get_args — 返回传入函数的参数列表

array func_get_args  ( void )

示例

<?php
function demo ()
{
  $args = func_get_args();
  echo "传入的参数分别为:";
  var_dump($args);
}
demo ( 'a' , 'b' , 'c' );

运行结果

传入的参数分别为:
array (size=3)
  0 => string 'a' (length=1)
  1 => string 'b' (length=1)
  2 => string 'c' (length=1)

3. func_get_arg — 根据参数索引从参数列表返回参数值

mixed  func_get_arg  ( int $arg_num  )

示例

<?php
function demo ()
{
  $numargs = func_num_args ();
  echo "参数个数为: $numargs <br />" ;
  $args = func_get_args();
  if ( $numargs >= 2 ) {
    echo "第二个参数为: " . func_get_arg ( 1 ) . "<br />" ;
  }
}
demo ( 'a' , 'b' , 'c' );

运行结果

参数个数为: 3
第二个参数为: b

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

PHP 相关文章推荐
PHP 将图片按创建时间进行分类存储的实现代码
Jan 05 PHP
php echo()和print()、require()和include()函数区别说明
Mar 27 PHP
php $_SERVER[&quot;REQUEST_URI&quot;]获取值的通用解决方法
Jun 21 PHP
PHP设计模式之代理模式的深入解析
Jun 13 PHP
解析PHP实现多进程并行执行脚本
Jun 18 PHP
php连接函数implode与分割explode的深入解析
Jun 26 PHP
浅析PHP Socket技术
Aug 02 PHP
教你如何快捷的使用cmd访问mysql小技巧
May 26 PHP
php中opendir函数用法实例
Nov 15 PHP
php中switch与ifelse的效率区别及适用情况分析
Feb 12 PHP
php单一接口的实现方法
Jun 20 PHP
php中时间函数date及常用的时间计算
May 12 PHP
PHP调用其他文件中的类
Apr 02 #PHP
为何说PHP引用是个坑,要慎用
Apr 02 #PHP
PHP实现的一致性Hash算法详解【分布式算法】
Mar 31 #PHP
PHP实现基于PDO扩展连接PostgreSQL对象关系数据库示例
Mar 31 #PHP
ThinkPHP框架中使用Memcached缓存数据的方法
Mar 31 #PHP
PHPTree――php快速生成无限级分类
Mar 30 #PHP
CMSPRESS 10行代码搞定 PHP无限级分类2
Mar 30 #PHP
You might like
PHP curl_setopt()函数实例代码与参数分析
2011/06/02 PHP
PHP基础之运算符的使用方法
2013/04/28 PHP
多个PHP中文字符串截取函数
2013/11/12 PHP
学习php设计模式 php实现模板方法模式
2015/12/08 PHP
PHP扩展迁移为PHP7扩展兼容性问题记录
2016/02/15 PHP
windows 2008r2+php5.6.28环境搭建详细过程
2019/06/18 PHP
最近项目写了一些js,水平有待提高
2009/01/31 Javascript
测试JavaScript字符串处理性能的代码
2009/12/07 Javascript
Javascript动态引用CSS文件的2种方法介绍
2014/06/06 Javascript
checkbox勾选判断代码分析
2014/06/11 Javascript
JS实现超精简响应鼠标显示二级菜单代码
2015/09/12 Javascript
JavaScript的模块化开发框架Sea.js上手指南
2016/05/12 Javascript
JS实现的手机端精简幻灯片效果
2016/09/05 Javascript
canvas实现钟表效果
2017/02/13 Javascript
Extjs 中的 Treepanel 实现菜单级联选中效果及实例代码
2017/08/22 Javascript
Vue拖拽组件列表实现动态页面配置功能
2019/06/17 Javascript
解决webpack多页面内存溢出的方法示例
2019/10/08 Javascript
详解ECMAScript2019/ES10新属性
2019/12/06 Javascript
vue使用Sass时报错问题的解决方法
2020/10/14 Javascript
[01:54]TI珍贵瞬间系列(五):压力
2020/08/29 DOTA
安装python3的时候就是输入python3死活没有反应的解决方法
2018/01/24 Python
python+numpy实现的基本矩阵操作示例
2019/07/19 Python
python实现批量文件重命名
2019/10/31 Python
Python + Requests + Unittest接口自动化测试实例分析
2019/12/12 Python
Python对Tornado请求与响应的数据处理
2020/02/12 Python
关于python3.7安装matplotlib始终无法成功的问题的解决
2020/07/28 Python
html5的canvas元素使用方法介绍(画矩形、画折线、圆形)
2014/04/14 HTML / CSS
h5网页水印SDK的实现代码示例
2019/02/19 HTML / CSS
将世界上最美丽的摄影作品转化为艺术作品:Photos.com
2017/11/28 全球购物
现代家居用品及礼品:LBC Modern
2018/06/24 全球购物
高校十八大报告感想
2014/01/27 职场文书
给老婆大人的检讨书
2014/02/24 职场文书
装修协议书范本
2014/04/21 职场文书
生物科学专业自荐书
2014/06/20 职场文书
2014年党员评议表自我评价
2014/09/27 职场文书
2015年留守儿童工作总结
2015/05/22 职场文书