Reputation: 10066
All, I'm using a function like this:
function themeblvd_twitter_slider_default( $tweet, $options, $username ) {
echo $tweet[0]->text;
}
The line in the function is giving me the following error: Fatal error: Cannot use object of type stdClass as array
When I do a print_r on $tweet I get the following output:
object(stdClass)#70 (19) { ["in_reply_to_screen_name"]=> NULL ["in_reply_to_user_id"]=> NULL ["in_reply_to_status_id"]=> NULL ["coordinates"]=> NULL ["retweeted"]=> bool(false) ["created_at"]=> string(30) "Mon Mar 12 16:54:05 +0000 2012" ["id_str"]=> string(18) "12345553333" ["truncated"]=> bool(false) ["user"]=> object(stdClass)#78 (38) { ["id"]=> int(522392463) ["profile_image_url_https"]=> string(73) "https://si0.twimg.com/profile_images/1891637329/turntable_dots_normal.jpg" ["contributors_enabled"]=> bool(false) ["profile_use_background_image"]=> bool(true) ["lang"]=> string(2) "en" ["id_str"]=> string(9) "522392463" ["default_profile_image"]=> bool(false) ["geo_enabled"]=> bool(false) ["profile_text_color"]=> string(6) "333333" ["is_translator"]=> bool(false) ["favourites_count"]=> int(0) ["location"]=> string(11) "Chicago, IL" ["time_zone"]=> NULL ["utc_offset"]=> NULL ["show_all_inline_media"]=> bool(false) ["profile_sidebar_border_color"]=> string(6) "C0DEED" ["name"]=> string(20) "name" ["protected"]=> bool(false) ["profile_background_image_url_https"]=> string(49) "https://si0.twimg.com/images/themes/theme1/bg.png" ["profile_background_tile"]=> bool(false) ["following"]=> NULL ["profile_sidebar_fill_color"]=> string(6) "DDEEF6" ["follow_request_sent"]=> NULL ["default_profile"]=> bool(true) ["statuses_count"]=> int(2) ["description"]=> string(56) "Description" ["notifications"]=> NULL ["verified"]=> bool(false) ["profile_background_color"]=> string(6) "C0DEED" ["listed_count"]=> int(0) ["profile_image_url"]=> string(71) "http://a0.twimg.com/profile_images/1891637329/turntable_dots_normal.jpg" ["profile_background_image_url"]=> string(47) "http://a0.twimg.com/images/themes/theme1/bg.png" ["followers_count"]=> int(3) ["url"]=> string(28) "http://www.website.com" ["friends_count"]=> int(9) ["created_at"]=> string(30) "Mon Mar 12 16:38:11 +0000 2012" ["profile_link_color"]=> string(6) "0084B4" ["screen_name"]=> string(10) "Username" } ["in_reply_to_status_id_str"]=> NULL ["geo"]=> NULL ["retweet_count"]=> int(0) ["favorited"]=> bool(false) ["place"]=> NULL ["source"]=> string(3) "web" ["in_reply_to_user_id_str"]=> NULL ["contributors"]=> NULL ["id"]=> float(1.7924891374269E+17) ["text"]=> string(140) "This is the tweet" }
How can I access the text without getting the error?
Thanks!
Upvotes: 1
Views: 10198
Reputation: 28691
Easiest way is to cast $tweet
as an array:
$tweet = (array)$tweet;
Upvotes: 2
Reputation: 60506
The error means exactly what it is, $tweet
is not an array, thus it makes no sense trying to get its 0th index.
$tweet->text
should just be fine :)
If you make sure $tweet is an array of tweet informations:
foreach($tweet as $t) {
echo $t->text;
}
Upvotes: 5