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 相关文章推荐
获取用户Ip地址通用方法与常见安全隐患(HTTP_X_FORWARDED_FOR)
Jun 01 PHP
探讨GDFONTPATH能否被winxp下的php支持
Jun 21 PHP
PHP中的按位与和按位或操作示例
Jan 27 PHP
php中ob_get_length缓冲与获取缓冲长度实例
Nov 20 PHP
php可应用于面包屑导航的递归寻找家谱树实现方法
Feb 02 PHP
php专用数组排序类ArraySortUtil用法实例
Apr 03 PHP
PHP rsa加密解密使用方法
Apr 27 PHP
php+ajax 实现输入读取数据库显示匹配信息
Oct 08 PHP
PHP中SSO Cookie登录分析和实现
Nov 06 PHP
php+redis实现多台服务器内网存储session并读取示例
Jan 12 PHP
php登录超时检测功能实例详解
Mar 21 PHP
Yii框架实现记录日志到自定义文件的方法
May 23 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-fpm配置详解
2014/02/12 PHP
PHP-FPM运行状态的实时查看及监控详解
2016/11/18 PHP
在TP5数据库中四个字段实现无限分类的示例
2019/10/18 PHP
javascript判断单选框或复选框是否选中方法集锦
2007/04/04 Javascript
jQuery对象和DOM对象相互转化
2009/04/24 Javascript
ECMAScript 创建自己的js类库
2012/11/22 Javascript
如何使用HTML5地理位置定位功能
2015/04/27 Javascript
Bootstrap每天必学之表格
2015/11/23 Javascript
javascript实现图片左右滚动效果【可自动滚动,有左右按钮】
2016/09/19 Javascript
实例解析jQuery工具函数
2016/12/01 Javascript
详解Vue用自定义指令完成一个下拉菜单(select组件)
2017/10/31 Javascript
nodejs判断文件、文件夹是否存在及删除的方法
2017/11/10 NodeJs
微信小程使用swiper组件实现图片轮播切换显示功能【附源码下载】
2017/12/12 Javascript
javascript实现导航栏分页效果
2019/06/27 Javascript
vue+axios实现post文件下载
2019/09/25 Javascript
webgl实现物体描边效果的方法介绍
2019/11/27 Javascript
vue实现购物车的监听
2020/04/20 Javascript
javascript中的offsetWidth、clientWidth、innerWidth及相关属性方法
2020/05/14 Javascript
koa2 数据api中间件设计模型的实现方法
2020/07/13 Javascript
[00:09]DOTA2新版本PA至宝特效动作展示
2014/11/19 DOTA
python中安装Scrapy模块依赖包汇总
2017/07/02 Python
教你学会使用Python正则表达式
2017/09/07 Python
Python 多进程并发操作中进程池Pool的实例
2017/11/01 Python
python之文件读取一行一行的方法
2018/07/12 Python
python递归法解决棋盘分割问题
2019/07/17 Python
Django使用中间件解决前后端同源策略问题
2019/09/02 Python
pandas的相关系数与协方差实例
2019/12/27 Python
简单介绍HTML5中的文件导入
2015/05/08 HTML / CSS
解析HTML5中的新功能本地存储localStorage
2016/03/01 HTML / CSS
英国珠宝网站Argento: PANDORA、Olivia Burton和Nomination等
2020/05/08 全球购物
Android面试宝典
2013/08/06 面试题
《美丽的田园》教学反思
2014/03/01 职场文书
总账会计岗位职责
2014/03/13 职场文书
“向国旗敬礼”主题班会活动设计方案
2014/09/27 职场文书
金砖之国观后感
2015/06/11 职场文书
CSS 新特性 contain控制页面的重绘与重排问题
2021/04/30 HTML / CSS