解析基于 PHP std class 对象的时间戳

Parsing a timestamp based PHP std class obkect

我有一个 PHP 标准 class 对象从 API 上的 REST 调用的 json_decode 转换而来,看起来像:

Array
(
    [1437688713] => stdClass Object
        (
            [handle] => Keep it logically awesome.
            [id] => 377748
            [ping] => stdClass Object
                (
                    [url] => https://api.me.com
                    [id] => 377748
                    [name] => web
                    [active] => 1
                    [events] => Array
                        (
                            [0] => data_new
                            [1] => data_old
                        )

到目前为止,我在解析任何 PHP 对象时没有遇到任何问题。但是这个失败了,因为我无法使用键访问嵌套对象元素,因为 1437688713 未分配给键,如果我尝试这样做,访问对象会失败:

$object->1437688713->handle

有没有办法访问这些元素?

更新:还有一件事,我永远不会提前知道这个值 (1437688713)。就像一把钥匙。我得到的只是一个我必须解析的 stdclass 对象。

$object 数组中获取第一项

$first_key = key($object);

将它与您的响应数组一起使用,

$object[$first_key]->handle;

或者,数组的第一个元素

$first_pair = reset($object)->handle;

数据的外部是一个数组,而不是一个对象。尝试:

$array['1437688713']->handle;

或者如果您不知道密钥,您可以遍历数组(如果它也可能包含多个对象则很方便):

foreach ($array as $key => $object) { 
  echo $key; // outputs: 1437688713
  echo $object->handle; // outputs: Keep it logically awesome.
}