Я начинаю с PHP, и я пытаюсь получить информацию из subreddit — пока, это сработало, но я получаю как:
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.
Заранее спасибо!
Чтобы получить к нему доступ, вам нужно перемещаться по объектам / массивам, чтобы получить нужные вам клавиши.
В приведенном выше примере это будет:
$data = $reddit->getListing("leagueoflegends", 1);
echo $data->data->children[0]->data->url;
Вы можете получить больше children
так что, возможно, вам придется пройти через них с foreach
цикл, который будет выглядеть примерно так:
foreach($data->data->children as $child) {
echo $child->data->url;
}
Других решений пока нет …