PHP – 从函数获取所有参数(即使是可选的)

前端之家收集整理的这篇文章主要介绍了PHP – 从函数获取所有参数(即使是可选的)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想从函数获取所有参数(通过或不通过).

例:

<?PHP
    function foo($a,$b=1)
    {
         return $a-$b;
    }
?>

如果我打电话

$test = func_get_args(foo(10));
var_dump($test);

我将只有一个数组[0] => 10.

即使我不通过它们,我如何拥有可选参数的值? (我知道func_get_args只返回传递的参数.)

编辑:更准确地说,这就是我在做什么:

function insertLog($fct_name="-1",$type="-1",$error="-1",....)
{
     // first thing
     $params = func_get_args();
     var_dump($params);
}
您可以使用 ReflectionFunction功能类完成此任务.
function foo($a,$b=1)
{
    $arr = array();
    $ref = new ReflectionFunction(__FUNCTION__);
    foreach($ref->getParameters() as $parameter)
    {
        $name = $parameter->getName();
        $arr[$name] = ${$name};
    }
    print_r($arr);

    // ...
}

调用功能

foo(1);

输出

Array
(
    [a] => 1
    [b] => 1
)

Demo

猜你在找的PHP相关文章