Как получить значение объекта для массива
Я новичок в php и пытаюсь прочитать текст и описание из api twitter. Мой массив выглядит следующим образом:
Array
(
[0] => stdClass Object
(
[created_at] => Thu Oct 03 14:50:55 +0000 2013
[id] => 3.85778998506E+17
[id_str] => 385778998506033154
[text] => We tested live-tweeting with @MLB to see if teams could boost follower engagement and their Twitter audience: https://t.co/XPhHmVDNxJ
[source] => TweetDeck
[truncated] =>
[in_reply_to_status_id] =>
[in_reply_to_status_id_str] =>
[in_reply_to_user_id] =>
[in_reply_to_user_id_str] =>
[in_reply_to_screen_name] =>
[user] => stdClass Object
(
[id] => 783214
[id_str] => 783214
[name] => Twitter
[screen_name] => twitter
[location] => San Francisco, CA
[description] => Your official source for news, updates and tips from Twitter, Inc.
[url] => http://t.co/5iRhy7wTgu
[entities] => stdClass Object
Я пытался читать таким образом, но ничего не могу напечатать echo $tweets->text;
2 answers
Попробуйте это:
echo $tweets[0]->text;
echo $tweets[0]->user->description;
Надеюсь, это вам поможет:)
Существует внешний массив, содержащий объект. Доступ к массиву осуществляется с помощью скобок, поэтому вы можете получить доступ к нулевому элементу через $tweets[0]
. Теперь, когда у вас есть объект, вы можете получить доступ к его свойствам. Все вместе это было бы $tweets[0]->text
. Для получения пользовательских значений вы могли бы использовать, например, $tweets[0]->user->description
.
Если было возвращено несколько твитов, вы могли бы использовать $tweets[1]
и т.д. для доступа к другим значениям твитов. Вы также можете повторить их.
foreach ($tweets as $tweet) {
echo $tweet->text;
}