2014-12-18 71 views
-1

我開始用PHP,我試圖從一個版(Subreddit)獲取信息 - 現在,它已經工作,但我收到這樣:從陣列(API)選擇元素

Object (stdClass Object ([kind] => Listing [data] => stdClass Object ([modhash] => lkxhn9w3ww19149721e2f6ff1071cedb82f577a7a556a5e9cf [children] => Array ([0] => stdClass Object ([kind] => t3 [data] => stdClass Object ([domain] => self.leagueoflegends [banned_by] => [media_embed] => stdClass Object () [subreddit] => leagueoflegends [selftext_html] => [selftext] => [likes] => [user_reports] => Array () [secure_media] => [link_flair_text] => [id] => 2papx0 [gilded] => 0 [secure_media_embed] => stdClass Object () [clicked] => [report_reasons] => [author] => Azberg [media] => [score] => 2174 [approved_by] => [over_18] => [hidden] => [thumbnail] => self [subreddit_id] => t5_2rfxx [edited] => [link_flair_css_class] => [author_flair_css_class] => gnar [downs] => 0 [mod_reports] => Array () [saved] => [is_self] => 1 [name] => t3_2papx0 [permalink] => /r/leagueoflegends/comments/2papx0/would_you_like_riot_to_stream_lcs_in_60_fps_like/ [stickied] => [created] => 1418623777 [url] => http://www.reddit.com/r/leagueoflegends/comments/2papx0/would_you_like_riot_to_stream_lcs_in_60_fps_like/ [author_flair_text] => [title] => Would you like Riot to stream LCS in 60 FPS like ESL? [created_utc] => 1418594977 [ups] => 2174 [num_comments] => 421 [visited] => [num_reports] => [distinguished] =>))) [after] => t3_2papx0 [before] =>)) 

我'想知道如何從中選擇數據 - 我的意思是,如果我只想要URL或只有標題?我試圖把它作爲代碼上的數組,但它沒有奏效。對不起,我的英語,這不是我的主要語言。

$reddit = new reddit($USER, $PASS); 
print_r($reddit); 
print_r($reddit->getListing("leagueoflegends", 1)); 

最後一行是打印信息。我想知道如何選擇它的一些元素 - 比如URL,kind或modhash。 在此先感謝!

回答

1

要訪問它,您需要瀏覽對象/數組以獲取所需的鍵。 在你上面的例子中,這將:

$data = $reddit->getListing("leagueoflegends", 1); 
echo $data->data->children[0]->data->url; 

也許最終你會得到更多的children,所以你可能需要通過它們與foreach迴路itterate會是這個樣子:

foreach($data->data->children as $child) { 
    echo $child->data->url; 
}