Recursieve functies in PHP

Door Joren de Wit, 21 jaar geleden, 7.468x bekeken

Wat is recursie en hoe kun je het toepassen in een PHP functie?

Gesponsorde koppelingen

Inhoudsopgave

  1. Inleiding
  2. Wat is recursie?
  3. Recursie toegepast
  4. Directories uitlezen met behulp van recursie
  5. Slotwoord en referenties

 

Er zijn 6 reacties op 'Recursieve functies in php'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Disksoft
Disksoft
21 jaar geleden
 
0 +1 -0 -1
Mooi tutorail, ik zal er inderdaad aan moeten wennen. Het is het proberen waard.
Winston Smith
Winston Smith
21 jaar geleden
 
0 +1 -0 -1
Goede tutorial, net als je tutorial over filters. Wanneer je iets zowel iteratief als recursief kan oplossen (bv. je voorbeeld met 6!), wat is dan de snelste oplossing qua verwerkingstijd?
Joren de Wit
Joren de Wit
21 jaar geleden
 
0 +1 -0 -1
Dat hangt er een beetje vanaf hoe de body van de functie eruit ziet. Over het algemeen zal een recursieve functie langzamer zijn omdat de functie elke keer opnieuw aangeroepen wordt.

Vooral bij functies met een kleine body zoals het voorbeeld van de faculteiten, zal dit verschil relatief groot zijn. Echter hoe zwaarder de body van je functie, hoe meer het verschil in performance te verwaarlozen is.

Een goed punt, ik zal het nog even meenemen in de tutorial.

ps. Na een klein testje blijkt dat in het geval van het berekenen van faculteiten de recursieve functie zo'n 50% langzamer is dan de iteratieve functie. Maar goed in de praktijk zul je hier niets van merken aangezien de uitvoertijd in de orde van grootte van 10^-5 ligt.

pps. Stukje over performance toegevoegd.
Mebus  Hackintosh
Mebus Hackintosh
21 jaar geleden
 
0 +1 -0 -1
Heel mooi een zeer duidelijk! Ik had het wel al eens vaker gehoort op het forum maar heb nooit echt geweten wat het was... Nu snap ik het wel beter gelukkig:-) Maar of ik het ook eens zal gebruiken? Dat ligt er denk aan wanneer het echt nodig is en of het beter is om het op deze manier te doen.

Wel mischien nog een verbeteringen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
gebruikers/
gebruikers/a
gebruikers/a/arend.txt
gebruikers/a/arjan.txt
gebruikers/gebruikers.txt
gebruikers/p
gebruikers/p/eigenschappen
gebruikers/p/eigenschappen/file.txt
gebruikers/p/piet.txt


gebruikers/a

a kan ook gewoon een bestand zijn als er geen slash achterstaat... mischien nog beter als je der een slash achter doet want ik zie het nu meer als een bestand dan als een map. Zo geld het ook nog voor de mappen p en eigenschappen.
Joren de Wit
Joren de Wit
21 jaar geleden
 
0 +1 -0 -1
@Mebus: aangepast ;)
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Iltar van der berg
iltar van der berg
21 jaar geleden
 
0 +1 -0 -1
Dat mappen scriptje was precies waar ik niet uitkwam, ik ga het omtoveren tot een mooi mappen systeempje met plaatjes :)

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. Inleiding
  2. Wat is recursie?
  3. Recursie toegepast
  4. Directories uitlezen met behulp van recursie
  5. Slotwoord en referenties

Labels

  • Geen tags toegevoegd.

PHP tutorial opties

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.