Rekursive Funktion

Aus php bar
Wechseln zu: Navigation, Suche

Definition

Eine rekursive Funktion ist eine Funktion die sich selber aufruft.

Anwendung

Rekursive Funktionen verwendet man z. B. um verschachtelte Arrays oder Verzeichnisbäume zu bearbeiten.

Beispiel: Verzeichnis

 /**
  * durchläuft das angegebene Verzeichnis und
  * alle Unterverzeichnisse und gibt den Inhalt aus
  *
  * @param string $directory Anfangsverzeichnis
  */
 function scanDir( $directory )
 {
     // entfernen aller Leerzeichen am Anfang
10     // und \ bzw. / am Ende
11     $directory = trim( rtrim( $directory, " /\\" ) );
12     echo $directory;
13     if ( is_dir( $directory ) )
14     {
15         $dir_object = dir( $directory );
16         while ( false !== ( $entry = $dir_object->read() ) )
17         {
18             // '.' und '..' interessieren uns nicht
19             if ( $file !== '.' && $file !== '..' )
20             {
21                 scanDir( $directory . '/' . $entry );
22             }
23         }
24         $dir_object->close();
25     }
26 }
27 
28 scanDir( '/www' );


Ausgabe:

/www
/www/index.php
/www/images
/www/images/logo.jpg

Seit PHP 5 gibt es in der Standard PHP Libary (SPL) einen Directory- und RekursiveDirectoryIterator.

Meine Werkzeuge