Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Konwersja obiekt->tablica
Forum PHP.pl > Forum > PHP
Sephirus
Witam,

Mam taki problem, nad którym myślę od rana.

Mam obiekt:

  1. class obiekt
  2. {
  3. private $obiekty;
  4.  
  5. public function pobierzTablice()
  6. {
  7. // questionmark.gif?
  8. }
  9. }


I teraz tak. Własność $obiekty to stdClass. Własności obiektu $obiekty to też stdClass natomiast własności własności obiektu $obiekty to też stdClass itd....

Czyli mam taką strukturę gdzie zamiast tablic mam x-poziomowe obiekty.

Przykład: $obiekty->costam->costam2->costam3->costam4 = 1;

I teraz mam pytanie co wrzucić zamiast questionmark.gif? aby ta metoda zwracała mi $obiekty zamienione na tablicę? :/

Kombinowałem i jedyne co mi się narazie udało to zwrócić tablicę obiektów co mnie nie satysfakcjonuje :/

Macie jakiś pomysł?
nospor
http://pl2.php.net/manual/en/function.get-object-vars.php
Zwraca ci właściwości obiektu. Iterujesz po tym, na tej podstawie tworzysz elementy tablicy. Gdy, właściwoscią obiektu będzie znowu obiekt a nie wartosc normalna, to znowu używasz get_object_vars - prosta rekurencja
blooregard
Chodzi Ci o uzyskanie czegoś takiego?:

  1. obiekt1 => array (
  2. obiekt11 => array(
  3. obiekt111 => 1,
  4. obiekt112 => 1
  5. )
  6. obiekt12 => array(
  7. obiekt112 => 1,
  8. obiekt122 => 1
  9. )
  10. obiekt2 => array (
  11. obiekt21 => array(
  12. obiekt211 => 1,
  13. obiekt212 => 1
  14. )
  15. obiekt22 => array(
  16. obiekt221 => 1,
  17. obiekt222 => 1
  18. )
  19. )
  20.  



Cytat(nospor @ 8.11.2011, 16:57:31 ) *
http://pl2.php.net/manual/en/function.get-object-vars.php
Zwraca ci właściwości obiektu. Iterujesz po tym, na tej podstawie tworzysz elementy tablicy. Gdy, właściwoscią obiektu będzie znowu obiekt a nie wartosc normalna, to znowu używasz get_object_vars - prosta rekurencja


Mnie przyszedł do głowy mechanizm refleksji wink.gif
nospor
Cytat
Mnie przyszedł do głowy mechanizm refleksji
Ale ogólny mechanizm i tak jest ten sam - prosta rekurencja. A to czy właściwości pobierzesz przy pomocy "mojej" czy "twojej" metody to sprawa drugorzędna
blooregard
Cytat(nospor @ 8.11.2011, 17:02:43 ) *
Ale ogólny mechanizm i tak jest ten sam - prosta rekurencja. A to czy właściwości pobierzesz przy pomocy "mojej" czy "twojej" metody to sprawa drugorzędna


Tak, tak, dokładnie to miałem na myśli. smile.gif
Sephirus
Ok Kombinowałem z tą funkcją get_object_vars() i array_map() chciałem po prostu pominąć rekurencje i przelatywanie po elementach tablicy. Ale możliwe, że prostszej metody nie ma ;P Pokombinuje jeszcze wink.gif

Dzięki 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.