PHP 带点的 stdClass 对象
PHP stdClass Object with dot
我有一个 stdClass,它有一个名称中带有点的属性。它是通过 API 返回给我的,所以我无法使用该名称。
它看起来像这样:
stdClass Object ( [GetPlayerResult] => stdClass Object ( [RegistrationResponses.Player] => Array (...)
现在,我该如何访问数组?当我这样做时:
print_r($result->GetPlayerResult->RegistrationResponses.Player);
它(显然)只打印 "Player"。我尝试使用 [''] 语法(如关联数组)在最后一部分周围加上撇号,none 有效并抛出 500 错误。
有任何想法吗?
谢谢!
请使用此函数将您的对象转换为数组
$arr = (array) $obj;
echo "<pre>";print_r($arr);exit;
通过打印 $arr 你可以显示数组的元素。
您可以尝试使用大括号:
$object->GetPlayerResult->{"RegistrationResponses.Player"}
或者您可以将其转换为关联数组
$result = (array) $object->GetPlayerResult;
$player = $result["RegistrationResponses.Player"];
如果您使用 json_decode
解析您的网站响应,请注意 return 的第二个参数作为关联数组的存在:
assoc
When TRUE, returned objects will be converted into associative arrays.
我有一个 stdClass,它有一个名称中带有点的属性。它是通过 API 返回给我的,所以我无法使用该名称。 它看起来像这样:
stdClass Object ( [GetPlayerResult] => stdClass Object ( [RegistrationResponses.Player] => Array (...)
现在,我该如何访问数组?当我这样做时:
print_r($result->GetPlayerResult->RegistrationResponses.Player);
它(显然)只打印 "Player"。我尝试使用 [''] 语法(如关联数组)在最后一部分周围加上撇号,none 有效并抛出 500 错误。 有任何想法吗? 谢谢!
请使用此函数将您的对象转换为数组
$arr = (array) $obj;
echo "<pre>";print_r($arr);exit;
通过打印 $arr 你可以显示数组的元素。
您可以尝试使用大括号:
$object->GetPlayerResult->{"RegistrationResponses.Player"}
或者您可以将其转换为关联数组
$result = (array) $object->GetPlayerResult;
$player = $result["RegistrationResponses.Player"];
如果您使用 json_decode
解析您的网站响应,请注意 return 的第二个参数作为关联数组的存在:
assoc
When TRUE, returned objects will be converted into associative arrays.