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 相关文章推荐
用函数读出数据表内容放入二维数组
Oct 09 PHP
PHP中常用数组处理方法实例分析
Aug 30 PHP
Php Image Resize图片大小调整的函数代码
Jan 17 PHP
php中批量修改文件后缀名的函数代码
Oct 23 PHP
PHP写的获取各搜索蜘蛛爬行记录代码
Aug 21 PHP
PHP引用(&amp;)各种使用方法实例详解
Mar 20 PHP
可以保证单词完整性的PHP英文字符串截取代码分享
Jul 15 PHP
PHP开发制作一个简单的活动日程表Calendar
Jun 20 PHP
Yii框架扩展CGridView增加导出CSV功能的方法
May 24 PHP
YII2自动登录Cookie总是失效的解决方法
Jun 28 PHP
php使用环形链表解决约瑟夫问题完整示例
Aug 07 PHP
PHP观察者模式实例分析【对比JS观察者模式】
May 22 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
全国FM电台频率大全 - 26 西藏自治区
2020/03/11 无线电
文件上传之SWFUpload插件(代码)
2015/07/30 PHP
laravel中命名路由的使用方法
2017/02/24 PHP
php让json_encode不自动转义斜杠“/”的方法
2020/04/27 PHP
js锁屏解屏通过对$.ajax进行封装实现
2014/07/31 Javascript
JavaScript操作Oracle数据库示例
2015/03/06 Javascript
跟我学习javascript的prototype原型和原型链
2015/11/18 Javascript
Bootstrap安装环境配置教程分享
2016/05/27 Javascript
AngularJs上传前预览图片的实例代码
2017/01/20 Javascript
js控制按钮,防止频繁点击响应的实例
2017/02/15 Javascript
AngularJS入门教程二:在路由中传递参数的方法分析
2017/05/27 Javascript
JavaScript转换数据库DateTime字段类型方法
2017/06/27 Javascript
node vue项目开发之前后端分离实战记录
2017/12/13 Javascript
解决vue多个路由共用一个页面的问题
2018/03/12 Javascript
微信小程序人脸识别功能代码实例
2019/05/07 Javascript
在Node.js中将SVG图像转换为PNG,JPEG,TIFF,WEBP和HEIF格式的方法
2019/08/22 Javascript
layui table 获取分页 limit的方法
2019/09/20 Javascript
部署vue+Springboot前后端分离项目的步骤实现
2020/05/31 Javascript
Windows和Linux下使用Python访问SqlServer的方法介绍
2015/03/10 Python
python 编程之twisted详解及简单实例
2017/01/28 Python
PyQt5每天必学之组合框
2018/04/20 Python
IronPython连接MySQL的方法步骤
2019/12/27 Python
从训练好的tensorflow模型中打印训练变量实例
2020/01/20 Python
python 日志模块 日志等级设置失效的解决方案
2020/05/26 Python
HTML5 常用语法一览(列举不支持的属性)
2010/01/26 HTML / CSS
html5 桌面提醒:Notifycations应用介绍
2012/11/27 HTML / CSS
HTML5 canvas基本绘图之绘制曲线
2016/06/27 HTML / CSS
Lookfantastic法国官网:英国知名美妆购物网站
2017/10/28 全球购物
香奈儿美国官网:CHANEL美国
2020/05/20 全球购物
网上常见的一份Linux面试题(多项选择部分)
2014/09/09 面试题
Python面试题:Python里面如何生成随机数
2015/03/12 面试题
服务中心夜班服务员岗位职责
2013/11/27 职场文书
工厂实习感言
2014/01/14 职场文书
商场总经理岗位职责
2014/02/03 职场文书
Python Pygame实战之塔防游戏的实现
2022/03/17 Python
java后台调用接口及处理跨域问题的解决
2022/03/24 Java/Android