Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Konwersja obiekt->tablica, ...wewnątrz obiektu
Sephirus
post 8.11.2011, 16:46:17
Post #1





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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ł?


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
Go to the top of the page
+Quote Post
nospor
post 8.11.2011, 16:57:31
Post #2





Grupa: Moderatorzy
Postów: 36 556
Pomógł: 6314
Dołączył: 27.12.2004




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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
blooregard
post 8.11.2011, 17:00:23
Post #3


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




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
Powód edycji: [blooregard]:


--------------------
Life's simple... You make choices and don't look back...
Go to the top of the page
+Quote Post
nospor
post 8.11.2011, 17:02:43
Post #4





Grupa: Moderatorzy
Postów: 36 556
Pomógł: 6314
Dołączył: 27.12.2004




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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
blooregard
post 8.11.2011, 17:07:41
Post #5


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




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


--------------------
Life's simple... You make choices and don't look back...
Go to the top of the page
+Quote Post
Sephirus
post 8.11.2011, 18:23:43
Post #6





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 10.05.2025 - 06:15