现在有一个这样的函数

我想利用反射,再用call_user_func执行,

当然,我不是白痴和多此一举,主要是因为上面的$func是一个数组中的值,我现在要写一个解析数据函数,会遇到$func,

写法如下:

$ReflectionFunction = new \ReflectionFunction($func);

foreach ($ReflectionFunction->getParameters() as $param) {

$params[] = $param->getName();

}

print_r($params);exit();

但这个只能获取,函数参数的名称,却无法使用

call_user_func(..,array(param1,param2))

所以想请教下各位,怎么才能使这个传入的参数有效呢?

回复内容:

现在有一个这样的函数

我想利用反射,再用call_user_func执行,

当然,我不是白痴和多此一举,主要是因为上面的$func是一个数组中的值,我现在要写一个解析数据函数,会遇到$func,

写法如下:

$ReflectionFunction = new \ReflectionFunction($func);

foreach ($ReflectionFunction->getParameters() as $param) {

$params[] = $param->getName();

}

print_r($params);exit();

但这个只能获取,函数参数的名称,却无法使用

call_user_func(..,array(param1,param2))

所以想请教下各位,怎么才能使这个传入的参数有效呢?

我感觉你想做的事情就是用

感觉可能是你使用的Php版本太老了,5.6开始,

可以这么做了,前提是你的$func要是个数组

functionA(...$func)

PS:functionA是你想call_user_func的函数

相关标签:php

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

php callable 参数,php 利用反射执行callable相关推荐

  1. 利用反射动态实例化类执行方法并传值

    /// <summary>         /// 利用反射动态实例化类执行方法并传值         /// </summary>         /// <param ...

  2. Unity(十八):利用反射来执行Unity编辑器的源码方法

    查看编辑器源码(工具:ILSpy) 利用反射来执行图示Clear方法 [MenuItem("CustomTools/LogText")] private static void L ...

  3. 利用反射实现类的动态加载

    为什么80%的码农都做不了架构师?>>>    //首先定义一个接口来隔离类: public interface Operator { // public java.util.Lis ...

  4. java设计模——反射的应用 (利用反射来去除if判断语句)

    利用反射来去除if判断语句 我的以前写的一个查分系统,就是部长让我写的那个,使用一个分发器(函数),他会根据传递进来的字符串参数调用不同的方. If("add".equalsIgn ...

  5. java反射 enum参数_CookBook/3-Java反射.md at master · Byron4j/CookBook · GitHub

    Java核心(三)反射 Java反射给我们提供了在运行时检查甚至修改应用行为的机制. 反射是java高级的核心技术,所有有经验的程序员都应该理解. 通过反射机制,我们可以在运行时检视 类.接口.枚举, ...

  6. Java利用反射动态加载类实战

    package com.web.common.utility.reflector; import java.io.Serializable; import java.lang.reflect.Cons ...

  7. android利用反射调用截屏api,Android利用反射机制调用截屏方法和获取屏幕宽高的方法...

    想要在应用中进行截屏,可以直接调用 View 的 getDrawingCache 方法,但是这个方法截图的话是没有状态栏的,想要整屏截图就要自己来实现了. 还有一个方法可以调用系统隐藏的 screen ...

  8. Asp.net中利用ExecuteNonQuery()执行存储过程返回-1解决方案

    Asp.net中利用ExecuteNonQuery()执行存储过程返回-1解决方案 2009-08-22 14:06 by chenkai, 544 阅读, 1 评论, 收藏, 编辑 Asp.net中 ...

  9. java判断对象无数据_java利用反射机制判断对象的属性是否为空以及获取和设置该属性的值...

    1.java利用反射机制判断对象的属性是否为空: Map validateMap = new LinkedHashMap(); validateMap.put("serial", ...

最新文章

  1. [翻译]ASP.NET MVC 3 开发的20个秘诀(十二)[20 Recipes for Programming MVC 3]:缩放图片尺寸创建缩略图...
  2. JTAG与STC,DEBUGWIRE区别
  3. 题目1201:二叉排序树
  4. 《图数据库(第2版)》——2.1 关系型数据库缺少联系
  5. matlab括号区别,matlab中各种括号(),[],与{}的区别与认识
  6. 中国云市场生变:华为云 Q2 份额超 AWS,IaaS+PaaS 迎来整体增长
  7. numpy 转置_Python中Numpy.transpose()
  8. [蓝桥] 基础练习 十进制转十六进制 (java)
  9. centos 5.8 mysql_linux centos5.8装yum安装mysql
  10. Mybatis系列(四)注解
  11. 【教程】基于FlashBuilder创建的FLEX项目使用教程精简版
  12. 工程施工工地进度监控带天气经纬度相机(监理日志不再难写)
  13. 全景图拍摄设备有哪些?全景图拍摄方法
  14. 如何修改网页小图标,浏览器页面上的图标。
  15. 支付宝接口调用出现INVALID_PARAMETER错误,订单信息无法识别
  16. button loading indicators
  17. YOLOv3使用笔记
  18. android十大开源项目
  19. 如何发表期刊方法步骤
  20. 遗传基因科普(8):奇妙的双螺旋结构

热门文章

  1. C# Winform 窗体美化(十、自定义窗体)
  2. WordPress网站搬家教程(根目录程序+ MySQL数据库)
  3. QT5快速转换路径(/斜杠与\反斜杠转换)
  4. android高仿天天动听,Android仿天天动听歌曲自动滚动view
  5. texlive 2020下载与安装
  6. 哈工大C语言公开课练兵编程(二)
  7. 使用kibana或postman操作Elasticsearch的常用命令
  8. python模块版本管理工具_【转】Python包管理工具
  9. 需要单机还是集群部署_单机、分布式、集群的区别与联系
  10. C语言填空题10道,3道C语言填空题,谁帮忙做下,谢谢