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 相关文章推荐
用Socket发送电子邮件(利用需要验证的SMTP服务器)
Oct 09 PHP
多文件上传的例子
Oct 09 PHP
PHP字符串 ==比较运算符的副作用
Oct 21 PHP
关于file_get_contents返回为空或函数不可用的解决方案
Jun 24 PHP
PHP中使用hidef扩展代替define提高性能
Apr 09 PHP
PHP使用fopen与file_get_contents读取文件实例分享
Mar 04 PHP
Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法
Mar 29 PHP
php使用curl详细解析及问题汇总
Aug 11 PHP
Yii2中多表关联查询hasOne hasMany的方法
Feb 15 PHP
使用PHP json_decode可能遇到的坑与解决方法
Aug 03 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
Sep 16 PHP
TP5框架安全机制实例分析
Apr 05 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的session cookie错误
2009/08/09 PHP
PHP中其实也可以用方法链
2011/11/10 PHP
PHP表单提交表单名称含有点号(.)则会被转化为下划线(_)
2011/12/14 PHP
thinkphp 一个页面使用2次分页的实现方法
2013/07/15 PHP
php 如何获取文件的后缀名
2016/06/05 PHP
Laravel5.* 打印出执行的sql语句的方法
2017/07/24 PHP
PHP实现的回溯算法示例
2017/08/15 PHP
php实现商城购物车的思路和源码分析
2020/07/23 PHP
在第一个input框内输入内容.textarea自动得到第一个文件框的值的javascript代码
2007/04/20 Javascript
js 数组克隆方法 小结
2010/03/20 Javascript
基于JQuery的访问WebService的代码(可访问Java[Xfire])
2010/11/19 Javascript
JavaScript中创建类/对象的几种方法总结
2013/11/29 Javascript
JS下载文件|无刷新下载文件示例代码
2014/04/17 Javascript
php实例分享之实现显示网站运行时间
2014/05/20 Javascript
微信js-sdk预览图片接口及从拍照或手机相册中选图接口用法示例
2016/10/13 Javascript
ajax接收后台数据在html页面显示
2017/02/19 Javascript
利用js定义一个导航条菜单
2017/03/14 Javascript
JQuery Ajax 异步操作之动态添加节点功能
2017/05/24 jQuery
Angular5给组件本身的标签添加样式class的方法
2018/04/07 Javascript
深入理解NodeJS 多进程和集群
2018/10/17 NodeJs
关于Vue源码vm.$watch()内部原理详解
2019/04/26 Javascript
微信小程序用户授权,以及判断登录是否过期的方法
2019/05/10 Javascript
js实现一个简易计算器
2020/03/30 Javascript
[03:15]DOTA2-DPC中国联赛1月22日Recap集锦
2021/03/11 DOTA
python中update的基本使用方法详解
2019/07/17 Python
python3通过subprocess模块调用脚本并和脚本交互的操作
2020/12/05 Python
英国时尚饰品和发饰购物网站:Claire’s
2017/07/04 全球购物
STP的判定过程
2012/10/01 面试题
法律专业推荐信范文
2013/11/29 职场文书
给老婆的婚前保证书
2014/02/01 职场文书
机关驾驶员违规检讨书
2014/09/13 职场文书
抗洪救灾标语
2014/10/08 职场文书
2015年幼儿园个人工作总结
2015/04/25 职场文书
围城读书笔记
2015/06/26 职场文书
解析:创业计划书和商业计划书二者之间到底有什么区别
2019/08/14 职场文书
Mybatis-plus在项目中的简单应用
2021/07/01 Java/Android