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 相关文章推荐
第十五节--Zend引擎的发展
Nov 16 PHP
PHP 开源AJAX框架14种
Aug 24 PHP
PHP 引用是个坏习惯
Mar 12 PHP
PHP如何抛出异常处理错误
Mar 02 PHP
php使用Smarty的相关注意事项及访问变量的几种方式
Dec 08 PHP
PHP清除数组中所有字符串两端空格的方法
Oct 20 PHP
PHP中实现接收多个name相同但Value不相同表单数据实例
Feb 03 PHP
php写入数据到CSV文件的方法
Mar 14 PHP
Yii2.0 模态弹出框+ajax提交表单
May 22 PHP
PHP网页安全认证的实例详解
Sep 28 PHP
PHP-FPM 的管理和配置详解
Feb 17 PHP
laravel ORM关联关系中的 with和whereHas用法
Oct 16 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
神族 PROTOSS 概述
2020/03/14 星际争霸
CI框架源码阅读,系统常量文件constants.php的配置
2013/02/28 PHP
探讨:如何使用PHP实现计算两个日期间隔的年、月、周、日数
2013/06/13 PHP
Laravel框架路由配置总结、设置技巧大全
2014/09/03 PHP
php array_merge函数使用需要注意的一个问题
2015/03/30 PHP
PHP数组与对象之间使用递归实现转换的方法
2015/06/24 PHP
基于jquery的多彩百分比 动态进度条 投票效果显示效果实现代码
2011/08/28 Javascript
基于jQuery实现的无刷新表格分页实例
2016/02/17 Javascript
Jquery对新插入的节点 绑定Click事件失效的解决方法
2016/06/02 Javascript
JS获取IE版本号与HTML设置IE文档模式的方法
2016/10/09 Javascript
JavaScript中动态向表格添加数据
2017/01/24 Javascript
详解vue axios中文文档
2017/09/12 Javascript
JavaScript中var、let、const区别浅析
2018/06/24 Javascript
vue中轮训器的使用
2019/01/27 Javascript
微信小程序的开发范式BeautyWe.js入门详解
2019/07/10 Javascript
JavaScript剩余操作符Rest Operator详解
2019/07/20 Javascript
jQuery 图片查看器插件 Viewer.js用法简单示例
2020/04/04 jQuery
vue 解决IOS10低版本白屏的问题
2020/11/17 Javascript
[04:52]DOTA2亚洲邀请赛附加赛 TOP10精彩集锦
2015/01/29 DOTA
python实现马耳可夫链算法实例分析
2015/05/20 Python
python计算一个序列的平均值的方法
2015/07/11 Python
Python 类与元类的深度挖掘 I【经验】
2016/05/06 Python
spyder常用快捷键(分享)
2017/07/19 Python
简单易懂Pytorch实战实例VGG深度网络
2019/08/27 Python
python实现人性化显示金额数字实例详解
2020/09/25 Python
pycharm 使用anaconda为默认环境的操作
2021/02/05 Python
Nike意大利官网:Nike.com IT
2020/01/19 全球购物
全球最大运动品牌的男装、女装和童装官方库存商:A&A Sports
2021/01/17 全球购物
测试时代收集的软件测试面试题
2013/09/25 面试题
连锁酒店店长职责范本
2014/02/13 职场文书
师德师风学习材料
2014/12/19 职场文书
幼儿园大班毕业评语
2014/12/31 职场文书
学前班语言教学计划
2015/01/20 职场文书
社区安置帮教工作总结2015
2015/05/20 职场文书
2016年度先进班组事迹材料
2016/03/01 职场文书
MutationObserver在页面水印实现起到的作用详解
2022/07/07 Javascript