gpt4 book ai didi

PHP:函数参数的名称

转载 作者:可可西里 更新时间:2023-11-01 13:48:22 25 4
gpt4 key购买 nike

我需要获取匿名函数参数的名称。

例如:

$func = function ( $param1, $param2 ) { ... };
$names = DO_SOMETHING($func);
// after this $names should become something like array('param1', param2')

理论上是可以的,因为var_dump($func)$funcClosure类的对象,并且有 parameter 属性,即 array('param1', 'param2')

php.net 的官方文档没有描述 Closure 类的方法,这对我有帮助。

我试图直接访问此属性,但 PHP 死于 fatal error :Closure object cannot have properties

我试图通过 get_object_vars 获取对象变量,但似乎 parameter 属性被声明为私有(private)(无论如何,get_object_vars 没有归还它)。

我知道的唯一方法是拦截 var_dump 的输出并解析它,但我们很容易理解这不是我们编写脚本的方式 =)

抱歉我的英语不好。

最佳答案

目前无法尝试,但请查看:

http://www.php.net/manual/en/class.reflectionfunction.php

特别是

http://www.php.net/manual/en/reflectionfunctionabstract.getparameters.php

也许这会成功。

编辑:试试这个:

$func = function ( $param1, $param2 ) {
/* some code */
};

$refFunc = new ReflectionFunction($func);
foreach ($refFunc->getParameters() as $refParameter) {
echo $refParameter->getName(), '<br />';
}

关于PHP:函数参数的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5854976/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com