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 生成饼图 三维饼图
Sep 28 PHP
DedeCMS dede_channeltype表字段注释
Apr 07 PHP
PHP以指定字段为索引返回数据库所取的数据数组
Jun 30 PHP
使用PHP curl模拟浏览器抓取网站信息
Oct 28 PHP
php三元运算符知识汇总
Jul 02 PHP
php检测mysql表是否存在的方法小结
Jul 20 PHP
php+redis消息队列实现抢购功能
Feb 08 PHP
PHP PDOStatement::getColumnMeta讲解
Feb 01 PHP
PHP goto语句用法实例
Aug 06 PHP
浅谈Laravel中的三种中间件的作用
Oct 13 PHP
laravel实现图片上传预览,及编辑时可更换图片,并实时变化的例子
Nov 14 PHP
php使用goto实现自动重启swoole、reactphp、workerman服务的代码
Apr 13 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
CI框架AR操作(数组形式)实现插入多条sql数据的方法
2016/05/18 PHP
PHP入门教程之自定义函数用法详解(创建,调用,变量,参数,返回值等)
2016/09/11 PHP
Smarty模板常见的简单应用分析
2016/11/15 PHP
laravel 判断查询数据库返回值的例子
2019/10/11 PHP
Javascript图像处理—平滑处理实现原理
2012/12/28 Javascript
node.js中的console.trace方法使用说明
2014/12/09 Javascript
JavaScript内存管理介绍
2015/03/13 Javascript
JS实现合并两个数组并去除重复项只留一个的方法
2015/12/17 Javascript
JavaScript中的Object对象学习教程
2016/05/20 Javascript
极力推荐10个短小实用的JavaScript代码段
2016/08/03 Javascript
ionic组件ion-tabs选项卡切换效果实例
2016/08/27 Javascript
JavaScript易错知识点整理
2016/12/05 Javascript
jQuery EasyUI 组件加上“清除”功能实例详解
2017/04/11 jQuery
es6学习之解构时应该注意的点
2017/08/29 Javascript
Vue.js自定义事件的表单输入组件方法
2018/03/08 Javascript
原生js拖拽功能制作滑动条实例代码
2021/02/05 Javascript
Python中删除文件的程序代码
2011/03/13 Python
酷! 程序员用Python带你玩转冲顶大会
2018/01/17 Python
Python 装饰器实现DRY(不重复代码)原则
2018/03/05 Python
python 计算一个字符串中所有数字的和实例
2019/06/11 Python
python 猴子补丁(monkey patch)
2019/06/26 Python
pandas 如何分割字符的实现方法
2019/07/29 Python
python数据化运营的重要意义
2019/11/25 Python
python3实现在二叉树中找出和为某一值的所有路径(推荐)
2019/12/26 Python
Django之富文本(获取内容,设置内容方式)
2020/05/21 Python
葬礼司仪主持词
2014/03/31 职场文书
学校百日安全生产活动总结
2014/07/05 职场文书
岗位说明书标准范本
2014/07/30 职场文书
2014年“向国旗敬礼”网上签名寄语活动方案
2014/09/27 职场文书
2014年内部审计工作总结
2014/12/09 职场文书
2014小学数学教师个人工作总结
2014/12/18 职场文书
小学一年级数学教学反思
2016/02/16 职场文书
关于感恩的素材句子(38句)
2019/11/11 职场文书
聊聊Python中关于a=[[]]*3的反思
2021/06/02 Python
通过Python把学姐照片做成拼图游戏
2022/02/15 Python
Python可视化神器pyecharts之绘制箱形图
2022/07/07 Python