Php func_get_参数检测上下文

Php func_get_参数检测上下文,php,function,Php,Function,我有一个脚本,它接受不同数量的参数 我想使用func_get_args对上述参数执行操作。如果我有一个这样的函数: function Something() { foreach(func_get_args($this) as $functions) { // Do something } // Return.. } 例如,我希望能够在另一个函数中调用此函数以添加/保存条目。添加/保存函数将具有参数“title”、“description”等 我主要想知道是否有

我有一个脚本,它接受不同数量的参数

我想使用func_get_args对上述参数执行操作。如果我有一个这样的函数:

function Something() {
   foreach(func_get_args($this) as $functions) {
       // Do something
   }

   // Return..
}
例如,我希望能够在另一个函数中调用此函数以添加/保存条目。添加/保存函数将具有参数“title”、“description”等

我主要想知道是否有一种方法可以检测函数调用的上下文。我是否可以将某些内容传递给func_get_args,让它知道它在某个函数中被调用?因此,如果我这样做:

function Save($title, $desc) {
$vars = $this->Something();
}

修改后,我希望
$vars
包含
$title
$desc

您的函数没有参数,因此无法使用
函数获取参数


您可以通过检查并提取
args
部分来获得它。

找到了它。。不漂亮,但它做了我想做的

private function Handle($Function, $Values) {
        $Method = new ReflectionMethod($this, $Function);
        $Result = array();
        $Inc = 0;

        foreach($Method->getParameters() as $Args) {
            $Result[$Args->getName()] = $this->DB->real_escape_string($Values[$Inc]);
            $Inc++;
        }

        return $Result;
}

function Test($a, $b, $c) {
    $Vars = $this->Handle(__FUNCTION__, func_get_args());
    print_r($Vars);
}

print_r(Test(1, 2, 3));

Array
(
    [a] => 1
    [b] => 2
    [c] => 3
)

我有另一种方法,但是必须使用
$Vars[0]、$Vars[1]
等来访问数组,我想这样做,以便我可以使用
$Vars['something']、$Vars['something']

似乎您要求在多个函数之间传递不同数量的参数。好吧,你可以用python来做,但不是用PHP。不要这样做。。。你的逻辑将是正确的confused@ExplosionPills:您可以在PHPI中这样做。我认为我的更优雅,因为您不必向函数传递任何参数。。。