我有一个stdClass,它有一个带有点的属性名称。它通过API返回给我,因此我无法对该名称做任何事情。 它看起来像这样:
print_r($result->GetPlayerResult->RegistrationResponses.Player);
现在,我如何访问阵列?当我这样做时:
/var/run/docker.sock
它(显然)只打印#34;播放器"。我尝试使用['']语法(如关联数组)在最后一部分附近放置撇号,这些都不起作用并抛出500错误。
有任何想法吗?
谢谢!
答案 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你可以显示数组的元素。