PHP内联访问Object Method返回的Array元素

时间:2013-11-21 19:45:54

标签: php arrays

假设我们有一个对象$teams(一个关联数组),其中包含一个提供方法getMembers()的对象,它返回一个数组,如下所示:

$membersArray = $teams['blueteam']->getMembers();

如果我想访问个别成员,我可以按如下方式进行:

$membersArray[1];

为什么我不能按如下方式在线执行访问,是否有正确的方法在PHP中执行此操作?

$membersArray = $teams['blueteam']->getMembers()[1];

2 个答案:

答案 0 :(得分:1)

为什么不创建一个名为getMember()的替代方法来接受数组索引的参数,而不是尝试像这样访问它。例如:

function getMember( $index )
{
    return $this->members[$index];
}

这使得您的代码更加自我记录,方法是指示getMembers将返回一个成员数组,其中getMember()将只返回单个数组元素。

答案 1 :(得分:1)

在PHP 5.4.0中添加了对此的支持:

$membersArray = $teams['blueteam']->getMembers()[1];