php 利用反射执行callable

WBOY
發布: 2016-06-06 20:37:24
原創
1104 人瀏覽過

现在有一个这样的函数

<code><?php $func = function($a,$b){
  ......
}
?>
</code>
登入後複製
登入後複製

我想利用反射,再用call_user_func执行,
当然,我不是白痴和多此一举,主要是因为上面的$func是一个数组中的值,我现在要写一个解析数据函数,会遇到$func,
写法如下:

<code>$ReflectionFunction = new \ReflectionFunction($func);
foreach ($ReflectionFunction->getParameters() as $param) {
                    $params[] = $param->getName();
                }
                print_r($params);exit();
</code>
登入後複製
登入後複製

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

<code>call_user_func(..,array(param1,param2))
</code>
登入後複製
登入後複製

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

回复内容:

现在有一个这样的函数

<code><?php $func = function($a,$b){
  ......
}
?>
</code>
登入後複製
登入後複製

我想利用反射,再用call_user_func执行,
当然,我不是白痴和多此一举,主要是因为上面的$func是一个数组中的值,我现在要写一个解析数据函数,会遇到$func,
写法如下:

<code>$ReflectionFunction = new \ReflectionFunction($func);
foreach ($ReflectionFunction->getParameters() as $param) {
                    $params[] = $param->getName();
                }
                print_r($params);exit();
</code>
登入後複製
登入後複製

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

<code>call_user_func(..,array(param1,param2))
</code>
登入後複製
登入後複製

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

我感觉你想做的事情就是用
感觉可能是你使用的Php版本太老了,5.6开始,
可以这么做了,前提是你的$func要是个数组
functionA(...$func)
PS:functionA是你想call_user_func的函数

相關標籤:
php
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!