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动态获取函数参数相关推荐

  1. PHP实现动态获取函数参数的方法

    1. func_num_args - 返回传入函数的参数总个数int func_num_args ( void )示例 <?php function demo () {$numargs = fu ...

  2. C++使用switch动态获取函数(通过函数指针实现)

    C++使用switch动态获取函数(通过函数指针实现) 基本的就不再赘述了,以下使用三种方法完成根据不同情况动态获取函数的功能. 方法一:通过形参取地址获得函数指针 这种方式的好处是可以通过传入多个取 ...

  3. 如何在Matlab中获取函数参数的数目?

    本图文详细介绍了Matlab中获取函数参数数目的方法.

  4. Java获取函数参数名称

    原理 编译之后的class文件默认是不带有参数名称信息的,使用 IDE 时,反编译jar包得到的源代码函数参数名称是 arg0,arg1......这种形式,这是因为编译 jar 包的时候没有把符号表 ...

  5. php定义一个学生类_3分钟短文 | PHP获取函数参数名,和类定义的常量,都要反射...

    引言 本文我们分享两个知识点,算是PHP编程中的稍微高阶一点的用法,一般不会用到.可是有了这个思路之后,你对于自己的冗余代码,应该会有想法了. 获取函数形参列表 我们在写程序的时候,不可能所有功能逻辑 ...

  6. python3 获取 函数参数个数 和 默认参数

    实例如下: def sum(a,b):return(a+b)print(sum.__code__.co_argcount) # 2 #输出的函数参数个数 print(sum.__code__.co_v ...

  7. php slim get,php – 在Slim上获取请求参数

    我正在尝试动态获取请求参数名称和值,但数组始终为空.这是获取路线: $app->get('/get/profile/:id_user', function ($id_user) use ($ap ...

  8. Python函数参数的五种类型

    之前项目需求,需要通过反射获取函数的参数,python中可以通过函数签名(signature)来实现. 首先需要了解函数参数的类型,Python的参数类型一共有5种:POSITIONAL_OR_KEY ...

  9. python3 函数签名简介 验证函数参数

    一个函数或方法,它使用*args和**kwargs作为参数,这样使得它比较通用, 但有时候你想检查传递进来的参数是不是某个你想要的类型.可以使用函数签名来做验证 函数签名对象,表示调用函数的方式,即定 ...

最新文章

  1. 常见的集合容器应当避免的坑
  2. 从linux和ucos的比较中来看进程这个概念
  3. 看奥运之一:实力是最重要的
  4. jqGrid列的统计
  5. Verify an App Store Transaction Receipt 【苹果服务端 验证一个应用程序商店交易收据有效性】...
  6. java三种循环结构_Java的三种结构(循环结构)
  7. Mitchell Baker:担任 Mozilla CEO 是我最艰难的职业
  8. 数据持久化mysql_Nacos数据持久化到MySQL
  9. Css/Js推荐类库
  10. 配置 eNSP 连接VMware虚拟机网络
  11. 基于java客户关系管理系统
  12. 三色SM认证人脸动态视频制作教程
  13. mysql 误删表 恢复数据_MySQL误删数据或者误清空表恢复
  14. Kali Linux 安装 COMFAST CF-WU925A Realtek RTL8811CU/RTL8821CU USB 无线网卡驱动
  15. 第十六届全国大学生智能车广东赛区高校组合汇总
  16. Seata Failed to get available servers: endpoint format should like ip:port 报错原因/解决方案汇总版(看完本文必解决问题)
  17. ChatGPT插件与简要介绍(已收集70个)了解添加插件后的chatgpt能做什么
  18. 俞敏洪致青春三“想”:理想、梦想和思想(转载)
  19. UVa Problem 10041 Vito’s Family (Vito 家族)
  20. SLAM--Geometric jacobian of UR series.

热门文章

  1. java 对比工具_Java几款性能分析工具的对比
  2. leetcode14. 最长公共前缀
  3. 线性表实现一元多项式操作
  4. 欧几里得gcd/extend_gcd
  5. android studio gradle 自动更新,android studio gradle 两种更新方法更新
  6. qq浏览器网页翻译_iOS 14中直接在Safari浏览器中翻译网页的方法!
  7. 英语口语week 14 Thursday
  8. 互联网产品用户体验设计的三大定律
  9. 264 解码之 yuv
  10. 接收并解析消息体传参、解析 json 参数