我想从一个函数中获取所有参数(传递或未传递)。
例如:
<?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);
}
func_get_args()
而不是在函数外部调用,它会起作用。 - Arminfunc_get_args(foo(10));
。相反,尝试这个:print_r(func_get_args())
,再次调用时不传递任何参数给func_get_args()
,并且所有操作都在你的函数内部完成。 - Arminfunc_get_args()
的文档所述:该函数仅返回传递的参数的副本,并不考虑默认(未传递)参数。
- Amal Murali