Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak pobrac $obiekt->$zmienna z stdclass
Forum PHP.pl > Forum > PHP
atay
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.
grn
  1. $klasa = new stdClass();
  2. $klasa->atrybut = 1;
  3.  
  4. $atrybuty = array('atrybut');
  5. echo $klasa->$atrybuty[0];


Tak działa.
thek
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ę.
atay
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ś 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.