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 相关文章推荐
删除无限级目录与文件代码共享
Jul 12 PHP
生成静态页面的php函数,php爱好者站推荐
Mar 19 PHP
php学习笔记 数组的常用函数
Jun 13 PHP
PHP输出缓存ob系列函数详解
Mar 11 PHP
ThinkPHP3.1新特性之对分组支持的改进与完善概述
Jun 19 PHP
php实现redis数据库指定库号迁移的方法
Jan 14 PHP
php使用GD创建保持宽高比缩略图的方法
Apr 17 PHP
在WordPress中获取数据库字段内容和添加主题设置菜单
Jan 11 PHP
PHP切割汉字的常用方法实例总结
Apr 27 PHP
PHP调用接口API封装的例子
Oct 11 PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
Feb 18 PHP
PHP7生产环境队列Beanstalkd用法详解
May 19 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
轻松修复Discuz!数据库
2008/05/03 PHP
实测在class的function中include的文件中非php的global全局环境
2013/07/15 PHP
web server使用php生成web页面的三种方法总结
2013/10/28 PHP
优化WordPress的Google字体以加速国内服务器上的运行
2015/11/24 PHP
详谈PHP程序Laravel 5框架的优化技巧
2016/07/18 PHP
php实现数组纵向转横向并过滤重复值的方法分析
2017/05/29 PHP
javascript实现的动态文字变换
2007/07/28 Javascript
JS对HTML标签select的获取、添加、删除操作
2013/10/17 Javascript
使用Object.defineProperty实现简单的js双向绑定
2016/04/15 Javascript
深入理解JavaScript中的块级作用域、私有变量与模块模式
2016/10/31 Javascript
Vue.js 中的 $watch使用方法
2017/05/25 Javascript
详解用vue.js和laravel实现微信授权登陆
2017/06/23 Javascript
vue2.0 移动端实现下拉刷新和上拉加载更多的示例
2018/04/23 Javascript
js中apply和call的理解与使用方法
2019/11/27 Javascript
JavaScript如何判断input数据类型
2020/02/06 Javascript
Vue实现计算器计算效果
2020/08/17 Javascript
如何利用vue实现波谱拟合详解
2020/11/05 Javascript
vue 解决provide和inject响应的问题
2020/11/12 Javascript
[02:20]2014DOTA2西雅图邀请赛 MVP外卡赛首胜采访
2014/07/09 DOTA
用python找出那些被“标记”的照片
2017/04/20 Python
Python爬虫番外篇之Cookie和Session详解
2017/12/27 Python
python的继承知识点总结
2018/12/10 Python
Selenium+Python 自动化操控登录界面实例(有简单验证码图片校验)
2019/06/28 Python
在python中,使用scatter绘制散点图的实例
2019/07/03 Python
Django自定义用户表+自定义admin后台中的字段实例
2019/11/18 Python
Python读取实时数据流示例
2019/12/02 Python
最新pycharm安装教程
2020/11/18 Python
临床医学专业个人的自我评价
2013/09/27 职场文书
春节联欢晚会主持词
2014/03/24 职场文书
文明班集体申报材料
2014/05/23 职场文书
自强自立美德少年事迹材料
2014/08/16 职场文书
普通员工辞职信范文
2015/05/12 职场文书
《卧薪尝胆》读后感3篇
2019/12/26 职场文书
正确使用MySQL update语句
2021/05/26 MySQL
bose降噪耳机音能消除人声吗
2022/04/19 数码科技
使用Nginx+Tomcat实现负载均衡的全过程
2022/05/30 Servers