2011-12-29 16 views
11

No estoy muy familiarizado con los objetos, generalmente los convierto en matrices usando un script, pero pensé que era hora de aprender y aprender esto, entonces me pregunto cómo puedo recorrerlos un conjunto de objetos y extraer la información específica que necesito, a continuación se muestra el ejemplo de lo que se está devolviendo.Cómo pasar por los objetos en 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

¿Qué nos muestra el código que has probado? ¿Cuál es exactamente "la información específica [que usted] necesita"? –

+0

solo digo por ejemplo que solo quería tomar el ID_str de cada objeto. – mcbeav

Respuesta

21

no necesita convertirlos a nada.

bucle foreach funcionaría bien con usted la siguiente manera genérica en:

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

para un objeto interno que esto funcionaría:

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

gracias, pruebe esto, nunca lo intenté y tenía la impresión de que los objetos iban a funcionar de forma diferente a las matrices. – mcbeav

+0

funcionó como un amuleto, ¡muchas gracias! – mcbeav

+7

En realidad es lo opuesto: 'foreach ($ objects as $ obj)' –

Cuestiones relacionadas