2011-12-29 19 views
11

Nie jestem zbyt obeznany z obiektami, zazwyczaj konwertuję je na tablice za pomocą skryptu, ale pomyślałem, że nadszedł czas, aby się tego nauczyć, więc pytam, jak mogę przechodzić tablicę obiektów i wyciągnąć konkretne informacje, których potrzebuję, przykład tego, co jest zwracane, znajduje się poniżej.Jak przechodzić między obiektami w php

[2] => stdClass Object 
     (
      [id_str] => 152240682071900161 
      [in_reply_to_status_id] => 
      [contributors] => 
      [place] => 
      [truncated] => 
      [geo] => 
      [favorited] => 
      [created_at] => Thu Dec 29 04:13:01 +0000 2011 
      [user] => stdClass Object 
       (
        [id_str] => 71876190 
        [contributors_enabled] => 
        [lang] => en 
        [protected] => 
        [url] => http://www.imdb.com/name/nm0000362/ 
        [default_profile] => 1 
        [profile_use_background_image] => 1 
        [name] => Danny DeVito 
        [default_profile_image] => 
        [friends_count] => 14 
        [profile_text_color] => 333333 
        [statuses_count] => 5361 
        [profile_background_image_url] => http://a0.twimg.com/images/themes/theme1/bg.png 
        [utc_offset] => -28800 
        [description] => I'm an actor, director and producer. 
        [is_translator] => 
        [created_at] => Sat Sep 05 19:44:48 +0000 2009 
        [profile_link_color] => 0084B4 
        [following] => 1 
        [profile_background_image_url_https] => https://si0.twimg.com/images/themes/theme1/bg.png 
        [favourites_count] => 8 
        [follow_request_sent] => 
        [geo_enabled] => 1 
        [profile_background_color] => C0DEED 
        [profile_background_tile] => 
        [followers_count] => 1784732 
        [profile_image_url] => http://a2.twimg.com/profile_images/400232403/Photo_6_normal.jpg 
        [screen_name] => DannyDeVito 
        [show_all_inline_media] => 
        [profile_sidebar_fill_color] => DDEEF6 
        [profile_image_url_https] => https://si0.twimg.com/profile_images/400232403/Photo_6_normal.jpg 
        [listed_count] => 20918 
        [notifications] => 
        [location] => Los Angeles 
        [id] => 71876190 
        [verified] => 1 
        [time_zone] => Pacific Time (US & Canada) 
        [profile_sidebar_border_color] => C0DEED 
       ) 

      [in_reply_to_user_id] => 
      [retweet_count] => 10 
      [in_reply_to_screen_name] => 
      [in_reply_to_status_id_str] => 
      [possibly_sensitive] => 
      [retweeted] => 
      [source] => WhoSay 
      [in_reply_to_user_id_str] => 
      [coordinates] => 
      [id] => 1.52240682072E+17 
      [text] => #Trollfoot Maroma http://t.co/4MvCYIFe 
     ) 

    [3] => stdClass Object 
     (
      [id_str] => 152240419344879616 
      [in_reply_to_status_id] => 
      [contributors] => 
      [place] => 
      [truncated] => 
      [geo] => 
      [favorited] => 
      [created_at] => Thu Dec 29 04:11:59 +0000 2011 
      [user] => stdClass Object 
       (
        [id_str] => 71876190 
        [default_profile] => 1 
        [contributors_enabled] => 
        [lang] => en 
        [protected] => 
        [url] => http://www.imdb.com/name/nm0000362/ 
        [profile_use_background_image] => 1 
        [name] => Danny DeVito 
        [default_profile_image] => 
        [friends_count] => 14 
        [profile_text_color] => 333333 
        [statuses_count] => 5361 
        [profile_background_image_url] => http://a0.twimg.com/images/themes/theme1/bg.png 
        [utc_offset] => -28800 
        [description] => I'm an actor, director and producer. 
        [is_translator] => 
        [created_at] => Sat Sep 05 19:44:48 +0000 2009 
        [profile_link_color] => 0084B4 
        [following] => 1 
        [profile_background_image_url_https] => https://si0.twimg.com/images/themes/theme1/bg.png 
        [favourites_count] => 8 
        [follow_request_sent] => 
        [geo_enabled] => 1 
        [profile_background_color] => C0DEED 
        [profile_background_tile] => 
        [followers_count] => 1784725 
        [profile_image_url] => http://a2.twimg.com/profile_images/400232403/Photo_6_normal.jpg 
        [screen_name] => DannyDeVito 
        [show_all_inline_media] => 
        [profile_sidebar_fill_color] => DDEEF6 
        [profile_image_url_https] => https://si0.twimg.com/profile_images/400232403/Photo_6_normal.jpg 
        [listed_count] => 20918 
        [notifications] => 
        [location] => Los Angeles 
        [id] => 71876190 
        [verified] => 1 
        [time_zone] => Pacific Time (US & Canada) 
        [profile_sidebar_border_color] => C0DEED 
       ) 

      [in_reply_to_user_id] => 
      [retweet_count] => 15 
      [in_reply_to_screen_name] => 
      [in_reply_to_status_id_str] => 
      [possibly_sensitive] => 
      [retweeted] => 
      [source] => WhoSay 
      [in_reply_to_user_id_str] => 
      [coordinates] => 
      [id] => 1.52240419345E+17 
      [text] => #Trolltoll Maroma http://t.co/Egv9syon 
     ) 
+0

Jak o pokazanie nam kod już próbował? Co dokładnie _jest_ "konkretnej informacji [potrzebujesz]?" –

+0

po prostu powiedz, na przykład chciałem tylko pobrać id_str każdego obiektu. – mcbeav

Odpowiedz

21

Nie musisz ich konwertować na nic.

pętla foreach będzie działać dobrze ze sobą w następujący sposób ogólna:

foreach ($objects as $obj) { 
    echo $obj->property; 
} 

na wewnętrznej obiektu to będzie działać:

foreach ($objects as $obj){ 
     echo $obj->user->description; 
} 
+0

dziękuję, chory, spróbuj tego, po prostu nigdy go nie wypróbowałem i miałem wrażenie, że obiekty będą działały inaczej niż tablice. – mcbeav

+0

pracował jak urok, dziękuję bardzo! – mcbeav

+7

W rzeczywistości jest odwrotnie: foreach ($ objects as $ obj) –

Powiązane problemy