Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [stdClass Object] w pętli foreach błąd.
Forum PHP.pl > Forum > PHP
zeroszumu
Witam, mam taki problem.

Zmienna o nazwie $attachments zwraca wartości obiektu:

  1. stdClass Object
  2. (
  3. [ID] => 73
  4. [post_author] => 1
  5. [post_date] => 2011-12-29 09:47:46
  6. [post_date_gmt] => 2011-12-29 09:47:46
  7. [post_content] =>
  8. [post_title] => i2
  9. [post_excerpt] =>
  10. [post_status] => inherit
  11. [comment_status] => open
  12. [ping_status] => open
  13. [post_password] =>
  14. [post_name] => i2
  15. [to_ping] =>
  16. [pinged] =>
  17. [post_modified] => 2011-12-29 09:47:46
  18. [post_modified_gmt] => 2011-12-29 09:47:46
  19. [post_content_filtered] =>
  20. [post_parent] => 71
  21. [guid] => [url="http://XXX/projekty/XXX/wp-content/uploads/2011/12/i2.png"]http://XXX/projekty/XXX/wp-conte.../2011/12/i2.png[/url]
  22. [menu_order] => 0
  23. [post_type] => attachment
  24. [post_mime_type] => image/png
  25. [comment_count] => 0
  26. [filter] => raw
  27. )


chce ją dać do pętli:

  1. foreach($attachments as $big){
  2. print_r($big);
  3. }


i wywala mi błąd ;(

Kod
Fatal error: Cannot use object of type stdClass as array in /home/XXX/domains/XXX/public_html/projekty/XXX/wp-content/plugins/file-gallery/templates/default/gallery.php on line 3


proszę o pomoc/wskazówkę w czym tkwi błąd smile.gif
nospor
No przecież masz napisane w komunikacie błędu:
obiektów klasy stdClass nie da się traktować jak tablicę....
zeroszumu
Cytat(nospor @ 29.12.2011, 14:30:48 ) *
No przecież masz napisane w komunikacie błędu:
obiektów klasy stdClass nie da się traktować jak tablicę....


no tak, używałem do przekonwertowania funkcję objectToArray ale nic z tego ;/

  1. function objectToArray( $object )
  2. {
  3. if( !is_object( $object ) && !is_array( $object ) )
  4. {
  5. return $object;
  6. }
  7. if( is_object( $object ) )
  8. {
  9. $object = get_object_vars( $object );
  10. }
  11. return array_map( 'objectToArray', $object );
  12. }


Masz pomysł, jak do pętli foreach rzucić dane z tego obiektu?
Shili
http://tuxradar.com/practicalphp/6/7/6

Pierwszy przykład i zadanie typu znajdź różnicę.
zeroszumu
niestety to nie to ;/
nospor
Cytat
Pierwszy przykład i zadanie typu znajdź różnicę.
I jakaż to różnica?

Cytat
no tak, używałem do przekonwertowania funkcję objectToArray ale nic z tego ;/
Jakiś błąd ci pluje przy tym drugim kodzie?
zeroszumu
  1. $val = objectToArray($attachments);
  2. print_r($val);


już naprawione, zapomniałem że funkcję objectToArray() dałem w pętle i wyskakiwał błąd duplikacji. Wszystko działa, dzięki nospor za pomoc smile.gif

pozdrawiam, szczęśliwego nowego roku smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.