Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
Funkcja w funkcji - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Programowanie, Bazy danych (https://www.webmastertalk.pl/forum-programowanie-bazy-danych)
+--- Wątek: Funkcja w funkcji (/thread-funkcja-w-funkcji)



Funkcja w funkcji - Radian - 23-08-2012

Proszę o pomoc doświadczonych, zamierzam wykonać drzewko kategorii (choć w moim przypadku będą to użytkownicy).
Głębokość jest w nieskończoność i tutaj nastąpił problem, próbowałem wykonać to przy pomocy tutoriala:
http://blog.mwojcik.pl/2008/02/17/drzewa-kategorii-w-sql-i-php-metoda-ip/

Ale niestety, php wywala bład przy próbie stworzenia funkcji wewnątrz funkcji, poniżej kod:

function display($opiekun_id, $tab) {

if (!is_array($tab[$opiekun_id])) return; #czy kategoria ma podkategorie?
echo '<ul>';
foreach ($tab[$opiekun_id] as $element) { #iteracja podkategorii
echo '<li>'.$element['Imie'].' '.$element['id'];
display($element['id'], $tab); #wyswietlenie podkategorii
echo '</li>';
}
echo '</ul>';
}

gdy dam return przed wywołaniem funkcji (wewnątrz) nie ma błędu lecz wtedy funkcja się kończy i nie chce wywołać dalej (głębiej) kolejnej.


RE: Funkcja w funkcji - Pedro84 - 23-08-2012

Funkcja wygląda OK. 3 pytania:
1. co to za zmienna $tab? Tak, wiem, tablica, ale konkretnie co zawiera?
2. jaki błąd Ci zwraca?
3. jak ją wywołujesz?


RE: Funkcja w funkcji - mateo - 23-08-2012

Jeśli chcesz wywołać wewnątrz funkcji ją samą to zainteresuj się tematem funkcji rekurencyjnych.


RE: Funkcja w funkcji - Radian - 24-08-2012

Rozwiązałem problem, funkcję wstawiłem bezpośrednio do pliku który jest includowany, wcześniej była w klasie, teraz jest poza klasą i działa, dla czego tak się dzieje nie wiem do teraz, choć chętnie sie dowiem.


RE: Funkcja w funkcji - Radian - 24-08-2012

O, dzięki od razu przetestuje bo znowu potrzebuje to wykorzystać