簡體   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