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