加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 16:42:18 所属栏目:PHP教程 来源:网络整理
导读:我想从函数中获取所有参数(通过或不通过). 例: ?php function foo($a,$b=1) { return $a-$b; }? 如果我打电话 $test = func_get_args(foo(10));var_dump($test); 我将只有一个数组[0] = 10. 即使我不通过它们,我如何拥有可选参数的值? (我知道func_get_arg
我想从函数中获取所有参数(通过或不通过).

例:

<?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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读