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 设计模式之 单例模式
Dec 19 PHP
PHP合并静态文件详解
Nov 14 PHP
PHP获取一年中每个星期的开始和结束日期的方法
Feb 12 PHP
Smarty日期时间操作方法示例
Nov 15 PHP
php获取开始与结束日期之间所有日期的方法
Nov 29 PHP
php实现的中文分词类完整实例
Feb 06 PHP
thinkPHP实现的联动菜单功能详解
May 05 PHP
详解PHP如何更好的利用PHPstorm的自动提示
Aug 18 PHP
ThinkPHP3.2.3框架实现的空模块、空控制器、空操作,跳转到错误404页面图文详解
Apr 03 PHP
Laravel5.4简单实现app接口Api Token认证方法
Aug 29 PHP
Laravel5.5 手动分页和自定义分页样式的简单实现
Oct 15 PHP
让whoops帮我们告别ThinkPHP6的异常页面
Mar 02 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.ini中文版
2006/10/09 PHP
PHP Smarty生成EXCEL文档的代码
2008/08/23 PHP
php解析json数据实例
2014/08/19 PHP
smarty内置函数config_load用法实例
2015/01/22 PHP
PHP中filter函数校验数据的方法详解
2015/07/31 PHP
laravel手动创建数组分页的实现代码
2018/06/07 PHP
JavaScript的public、private和privileged模式
2009/12/28 Javascript
Span元素的width属性无效果原因及解决方案
2010/01/15 Javascript
JavaScript 放大镜 放大倍率和视窗尺寸
2011/05/09 Javascript
div当滚动到页面顶部的时候固定在顶部实例代码
2013/05/27 Javascript
基于JQuery实现滚动到页面底端时自动加载更多信息
2014/01/31 Javascript
javascript实现全局匹配并替换的方法
2015/04/27 Javascript
Bootstrap CSS布局之表单
2016/12/17 Javascript
关于Javascript中document.cookie的使用
2017/03/08 Javascript
微信小程序使用slider设置数据值及switch开关组件功能【附源码下载】
2017/12/09 Javascript
JS实现延迟隐藏功能的方法(类似QQ头像鼠标放上展示信息)
2017/12/28 Javascript
Angular6中使用Swiper的方法示例
2018/07/09 Javascript
JavaScript两种计时器的实例讲解
2019/01/31 Javascript
这样回答继承可能面试官更满意
2019/12/10 Javascript
JS创建自定义对象的六种方法总结
2020/12/15 Javascript
Python字符串匹配算法KMP实例
2015/07/18 Python
python+mongodb数据抓取详细介绍
2017/10/25 Python
Python+OpenCV实现车牌字符分割和识别
2018/03/31 Python
python实现的接收邮件功能示例【基于网易POP3服务器】
2019/09/11 Python
基于Tensorflow批量数据的输入实现方式
2020/02/05 Python
英国领先的电动可调床制造商:Laybrook
2019/12/26 全球购物
Berghaus官网:户外服装和设备,防水服
2020/01/17 全球购物
安全教育心得体会
2013/12/29 职场文书
2014年元旦联欢会活动策划方案
2014/02/16 职场文书
小学生新年寄语
2014/04/03 职场文书
慈善晚会策划方案
2014/05/14 职场文书
村党建工作汇报材料
2014/11/02 职场文书
五年级小学生评语
2014/12/26 职场文书
学生通报表扬范文
2015/05/04 职场文书
《原神》新角色演示“神里绫人:林隐泓洄” 宠妹狂魔
2022/04/03 其他游戏
MySql统计函数COUNT的具体使用详解
2022/08/14 MySQL