Wat is recursie?

Een gangbare definitie van recursie is de volgende:

Recursie is het proces dat een procedure ondergaat als een onderdeel van deze procedure het opnieuw uitvoeren van de gehele zelfde procedure betreft.

Met andere woorden, recursie betreft alles dat op een bepaald moment naar zichzelf refereert.

Recursie vs. Iteratie
Om een beter beeld te krijgen van wat recursie nou precies inhoud, zal ik beginnen met iets dat iedereen al gebruikt in zijn PHP scripts: iteratie.

Iteratie is letterlijk herhaling en de bekendste voorbeelden uit PHP zijn dan ook wel de for en while loops. Iedereen kent ze en iedereen past ze toe.

Voorbeeld 1: Iteratie in een PHP script

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
for($i = 0; $i <= 9; $i++)
{

    echo $i;
}

?>

Voorbeeld 2: Iteratie in een PHP script (2)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
$i
= 0;
while($i <= 9)
{

    echo $i;
    $i++;
}

?>

Natuurlijk geven beide scriptjes het volgende terug:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
0123456789


Beide voorbeelden geven de cijfers van 0 tot 9 op een iteratieve manier.

Eenvoudig gezegd is iteratie dus iets uitvoeren in een loop. Als je nog nooit gehoord hebt van recursie, heb je er waarschijnlijk nog nooit bij stil gestaan dat er ook een alternatieve manier is. Dit komt dan waarschijnlijk omdat het relatief eenvoudig is om dit soort problemen met een loop op te lossen. Recursie daarentegen vereist van PHP programmeurs een andere manier van denken. Je zult er dan ook even een knop voor om moeten zetten en jezelf in het diepe moeten gooien.

Hoewel PHP voornamelijk iteratieve oplossingen gebruikt voor problemen, is het niet alleen mogelijk om recursie te gebruiken maar soms ook gewenst. Verderop in deze tutorial zal ik daar een voorbeeld van geven.

« Lees de omschrijving en reacties

Inhoudsopgave

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

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.