![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Powiedzmy że mam tablicę: Zmienna znajduje się w klasie i muszę do nie się odwołać przez akcesor. Metoda/akcesor przyjmuje dowolną ilość parametrów, które są kolejnymi nazwami pól w tablicy. Jak mam się odwołać do pola określonego przez przekazane parametry zakładając że może ich być dowolna ilość. Przykład:
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 418 Pomógł: 8 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Może tak:
-------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) ![]() ![]() |
Raczej nie.
To zwróci mi tablicę a ja chcę otrzymać wartość niezależnie od stopnia zagnieżdżenia tablicy. Wiem że można to wykonać przez rekurencję, ale nie w smak mi wywoływanie kilkakrotnie tej samej funkcji tylko po to żeby otrzymać jakąś wartość. Miałem nadzieję że istnieje jakaś funkcja wbudowana w PHP która mi to umożliwi. edit> Wybrałem trochę zakręconą metodę rozwiązania tego problemu ale działa. (zakręconą bo nie lubię używać eval())
Ten post edytował orglee 5.09.2007, 13:23:22 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 698 Pomógł: 3 Dołączył: 28.03.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Ale przecież kod, który podał qqrq jest poprawny i zwraca to, co się kryje pod daną ścieżką (jeżeli jest za krótka, to będzie to tablica, ale normalnie będzie to oczekiwana wartość...)... I nie potrzeba do tego żadnej rekurencji ani evala, bo prosta pętla for/foreach załatwia sprawę...
-------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) ![]() ![]() |
Za to lubię to forum. Ludzie potrafią tutaj pokazać człowiekowi głupotę nawet jeśli upiera się usilnie że ma rację
![]() Oczywiście macie rację dziękuję. [SOLVED] |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 07:07 |