如何从类变量数组中访问类成员?
Posted
技术标签:
【中文标题】如何从类变量数组中访问类成员?【英文标题】:How to access class members from an array of class variables? 【发布时间】:2010-02-17 21:22:34 【问题描述】:我想使用 php 的反射功能从方法中检索参数名称列表。我有这样的课:
class TestClass
public function method($id, $person, $someotherparam)
return;
我可以使用如下代码获取列表:
$r = new ReflectionClass('TestClass');
$methods = $r->getMethods();
foreach($methods as $method)
$params = $method->getParameters();
$p = $params[0]; // how can I combine this and the next line?
echo $p->name;
我想知道如何从数组中访问类成员,所以我不必做作业。这可能吗?我尝试了echo ($params[0])->name
之类的方法,但出现错误。
【问题讨论】:
【参考方案1】:你可以替换这两行:
$p = $params[0]; // how can I combine this and the next line?
echo $p->name;
由那一个人:
echo $params[0]->name;
即这里不需要任何类型的括号。
但是你不能使用这种语法:
($params[0])->name
它会给你一个
Parse error: syntax error, unexpected T_OBJECT_OPERATOR
【讨论】:
哦。我发誓我凭直觉尝试过,但我想我还有另一个错误。 一定期望括号不会破坏您的代码。这里也一样。以上是关于如何从类变量数组中访问类成员?的主要内容,如果未能解决你的问题,请参考以下文章