带有点的PHP stdClass对象

时间:2016-12-15 12:51:48

标签: php stdclass

我有一个stdClass,它有一个带有点的属性名称。它通过API返回给我,因此我无法对该名称做任何事情。 它看起来像这样:

print_r($result->GetPlayerResult->RegistrationResponses.Player);

现在,我如何访问阵列?当我这样做时:

/var/run/docker.sock
它(显然)只打印#34;播放器"。我尝试使用['']语法(如关联数组)在最后一部分附近放置撇号,这些都不起作用并抛出500错误。 有任何想法吗? 谢谢!

2 个答案:

答案 0 :(得分:3)

您可以尝试使用大括号:

$object->GetPlayerResult->{"RegistrationResponses.Player"}

或者您可以将其转换为关联数组

$result = (array) $object->GetPlayerResult;
$player = $result["RegistrationResponses.Player"];

如果您使用json_decode解析网站响应,请注意是否存在要作为关联数组返回的第二个参数:

  

ASSOC

     

当为TRUE时,返回的对象将被转换为关联数组。

答案 1 :(得分:-2)

请使用此功能将对象转换为数组

$arr = (array) $obj;
echo "<pre>";print_r($arr);exit;

通过print $ arr你可以显示数组的元素。