Weiter Zurück [Inhalt] Online Suche im Handbuch

39.20 Funktionen

Ein wichtiger Bestandteil einer jeden Programmiersprache ist die Fähigkeit, mehrere Befehle zu einem einzigen Befehl zusammenzufassen, d.h. neue Funktionen zu definieren. PHP3 hat diese Fähigkeit selbstverständlich auch.

Was in MySQL im Prinzip fehlt, sind sogenannte stored procedures. Diese kann man jedoch mit PHP3 einfach ersetzen. Das folgende Beispiel zeigt den Einsatz von Funktionen unter PHP3. Hier können Sie einfach die Routinen zum Ansprechen der MySQL Datenbank einbauen, und fertig sind Ihre "Stored Procedures".

Wir wollen für eine Anzahl von Tagen berechnen, wieviele Sekunden diese Tage zusammen haben:


        function tag ($anzahl) {
                $sekunden = 3600 * 24 * $anzahl;
                return $sekunden;
        }
        
        $x = tag(7);
        echo "7 Tage bestehen aus $x Sekunden !";

$anzahl nennt man auch Argument der Funktion. Eine Funktion kann mehrere Argumente, oder auch kein Argument besitzen:


        function zinseszins ($prozent,$laufzeit) {
                $kapital = 10000.0;
                $x = 1.0 + ($proz/100.0);
                $y = $kapital * exp( $laufzeit*log($prozent) );
                return $y;
        }
        $proz = 6;
        $zeit = 10;
        $x = $zinseszins($proz,$laufzeit);
        echo "Das Kapital beträgt $x Euro";

Mehr zu den verwendeten mathematischen Funktionen kann man im Handbuch PHP3 nachlesen. Problematisch ist im obigen (zugegebenermaßen etwas konstruierten) Beispiel, daß die Variable $kapital in der Funktion selbst festgelegt wird. Natürlich wird man auch diesen Wert normalerweise als Argument der Funktion übergeben, also etwa so:


        function zinseszins ($prozent,$laufzeit,$kapital) { ...

Wir wollen aber nun den Fall betrachten, daß diese Variable bereits gesetzt ist, und wir sie nicht als Argument übergeben wollen. Dann muß angeben werden, daß die Variable "von außen" stammt. Dies geschieht durch den Befehl global. Den Wirkungsbereich von Variablen nennt man SCOPE....:

 

        $kapital = 10000.0;
        function zinseszins ($prozent,$laufzeit) {
                global $kapital;
                $x = 1.0 + ($proz/100.0);
                $y = $kapital * exp( $laufzeit*log($prozent) );
                return $y;
        }
        $proz = 6;
        $zeit = 10;
        $x = $zinseszins($proz,$laufzeit);
        echo "Das Kapital beträgt $x DM/EURO/YEN/US$..";


Weiter Zurück [Inhalt] Online Suche im Handbuch