gpt4 book ai didi

PHP - 从函数中获取所有参数(甚至是可选参数)

转载 作者:可可西里 更新时间:2023-10-31 22:12:50 28 4
gpt4 key购买 nike

我想从函数中获取所有参数(传递的或未传递的)。

例子:

<?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 - 从函数中获取所有参数(甚至是可选参数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21760689/

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