PHP problem med løkke og filstruktur

Tags:    php filer loop

Hej

Jeg har et problem med det her script, primært er det funktionen readDirs() der driller, Jeg kan ikke få den til at udskrive den korrekte sti, hvis jeg har mapperne /et/to/tre udskriver den dem som /et/totre.

Jeg har ud kommenteret en del af koden for nemmere at kunne fejlsøge i det. Men jeg kan ikke rigtig komme videre :(

Fold kodeboks ind/udPHP kode 




6 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Mon ikke det er her :
Fold kodeboks ind/udPHP kode 


Prøv og lav det om til :
Fold kodeboks ind/udPHP kode 


Jeg kan se din readDirs() funktion kalder sig selv.
Jeg tror det er bedst at en funktion ikke kalder sig selv da der jo så er chance for den går i en uendelig løkke.



Det er meningen, ellers tager den ikke alle underbiblioteker



Det kan godt være det fint nok.

Men det jeg mente var at det måske er bedre at dele funktionen op i 2 funktioner så den ikke kalder sig selv.

Men hører gerne hvad andre siger til det.



Som scootergrisen skriver, så er det fordi du ikke udskriver en skråstreg:
Fold kodeboks ind/udPHP kode 


@scootergrisen: At funktionen kalder sig selv er ganske normalt til denne type algoritmer - Det kaldes en rekursiv algoritme



ok :pirat:



Indlæg senest redigeret d. 24.06.2012 19:21 af Bruger #13010
Som Jakob siger er rekursive algoritmer eller rekursive funktioner meget brugte ... F.eks. Som her med filsystemer hvor man reelt set ingen chance har for, at vide hvor mange under niveauer der er. Derfor laver man disse typer af funktioner der kalder sig selv. Så kan mappestrukturen i teorien være med uendelig antal underniveauer uden man behøver lave flere funktioner eller man behøver "neste" flere for/while loops inden i hinanden.

Det er utroligt smart og hurtigt. I nogle tilfælde bliver det også brugt som erstatning for andre typer loops, da det til nogle ting er meget hurtigere.



t