Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak pobrac $obiekt->$zmienna z stdclass
atay
post
Post #1





Grupa: Zarejestrowani
Postów: 58
Pomógł: 0
Dołączył: 8.10.2003

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


Mam problem. Używam Zend'a, który domyślnie z mysql tworzy obiekty stdclass i w ten sposób później mogę dostawać się przez
$wynik->login
$wynik->imie

etc.
Problem w tym, że chciałbym stworzyć sobie tablicę
$tab = array("login", "imie", "nazwisko");

i dostawać się przez
$wynik->($tab[0]) --- co byłoby równoznaczne $wynik->login

niestety taki sposób nie chodzi, _get też niestety nie, nie mam już pomysłów, a google słabo na ten temat gadają, proszę o pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
grn
post
Post #2





Grupa: Zarejestrowani
Postów: 25
Pomógł: 4
Dołączył: 1.06.2009

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


  1. $klasa = new stdClass();
  2. $klasa->atrybut = 1;
  3.  
  4. $atrybuty = array('atrybut');
  5. echo $klasa->$atrybuty[0];


Tak działa.
Go to the top of the page
+Quote Post
thek
post
Post #3





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




To wygląda mniej więcej tak, jakbyś chciał zamienić nazwy atrybutów, lub bardziej elastycznie, dodać do klasy nowe pole będące tablicą, które przetworzy dotychczasowy obiekt do tablicy i zapisze go w tymże polu. A przecież klasa Std nie ma możliwości z tego co pamiętam wywołania __get(X), gdzie X to kolejny parametr numerując od 0. Nie przeciążysz też jej, bo musiałbyś mieć za każdym razem ten sam klucz/nazwę atrybutu w określonym miejscu by się doń odwoływać. Bo przecież nie będziesz w locie tworzył tablicy by się odwoływać do konkretnego elementu. Wydajność leci na łeb, na szyję.
Go to the top of the page
+Quote Post
atay
post
Post #4





Grupa: Zarejestrowani
Postów: 58
Pomógł: 0
Dołączył: 8.10.2003

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


grn
dzięki wielkie za pomoc, nie sądziłem że to takie proste

thek
dopiero wstałem i ciężko mi się myśli, a że już mam rozwiązanie to nawet nie próbuje się wgryzać w to co napisałeś (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 17.09.2025 - 19:39