繁体   English   中英

如何访问数组中的对象元素

[英]How to access object elements in an array

我正在使用Github PHP库 您可以使用Buzz HTTP Client进行特定调用,如下所示:

$client->getHttpClient()->get('repos/:user/:repo/events');

问题是返回该请求是我不确定如何访问元素的事情:

Github\HttpClient\Message\Response Object
(
    [remainingCalls] => 
    [protocolVersion:Buzz\Message\Response:private] => 0
    [statusCode:Buzz\Message\Response:private] => 200
    [reasonPhrase:Buzz\Message\Response:private] => OK
    [headers:Buzz\Message\AbstractMessage:private] => 

    [content:Buzz\Message\AbstractMessage:private] => 
)

现在我可以循环执行对象,执行以下操作:

foreach( $events as $item ) {
   print_r( $item );
}

但我真的只关心headerscontent

是否有人知道如何直接访问这些元素而无需循环?

如果查看该对象类的源代码,您将看到有一个getContent()函数将检索内容字段的值。 您还会注意到此类从Buzz客户端扩展了Response类 反过来,Buzz Response类是AbstractMessage类的扩展,它具有getHeaders()函数和getContent()函数。

所以基本上你可以使用通过继承提供的getContent()和getHeaders()函数来访问这两个变量。

你试过这个吗?

$res = $client->getHttpClient()->get('repos/:user/:repo/events');
echo $res->remainingCalls;  // non private var

或者您应该能够调用Response类的每个公共方法

$res->getStatusCode();
$res->getProtocolVersion();

检查可能的方法:

https://github.com/kriswallsmith/Buzz/blob/master/lib/Buzz/Message/Response.php

https://github.com/kriswallsmith/Buzz/blob/master/lib/Buzz/Message/AbstractMessage.php

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM