PHP funkcja rekurencyjna
Mam tablicę stanów jaką może przyjmować tekst jaki przepływa przez mój system
$stany = array(
1 => array(2), //u admina; sprawdza nowo wysłany wniosek
2 => array(11,12), //u pisarza; sprawdza nowo otrzymane zlecenie
11 => array(12), //u klienta; wyrażenie zgody na wydłużenie czasu przedłużenia
12 => array(3,11), //u pisarza; tekst jest właśnie pisany
3 => array(4), //u admina; sprawdza krytyczne wyrazy w tekście1
4 => array(5), //u klienta; sprawdza otrzymany tekst
5 => array(6), //u admina; odebrał od klienta zgłoszone poprawki do tekstu
6 => array(7), //u pisarza; dostaje poprawki od klienta (czyt. pisze tekst2)
7 => array(13), //u admina; sprawdza tekst2
13 => array(10), //u klienta; dostaje tekst2
10 => null,
);
Chciałbym napisać funkcję, która przyjmowałaby (int)$argument aktualnego stanu i aby "wypluła" przypuszczalne stany jakie mogą nastąpić po tym stanie.
Czyli:
funkcja(2) powinna zwrócić tablicę z wpisami Array(11,12,3,4,5,6,7,13,10)
funkcja(11) => Array(12,3,11,4,5,6,7,13,10)
funkcja(6) => Array(7,13,10)
Próbowałem to zrobić ale albo algorytm nie kończy swojego działania, albo przepełnienie pamięci następuje :(