/tutorial-php_funktionen.html PHP Funktionen - PHP Functions
  PHP Kurs Logo  
 
Buttons PHP Kurs - Kapitel Trennlinie Downloads Trennlinie Was brauche ich ? Trennlinie Entwickler Jobs Trennlinie Kontakt Trennlinie Impressum Buttons
 
 
Menu
Allererste PHP Schritte
- Webserver Installation
- PHP Editor Installation

PHP Grundlagen
- PHP Grundwissen
- Mein erstes Programm
- Kommentare einfügen
- Variablen
- PHP+HTML mischen
- If Abfragen
- Rechenarten
- Arrays
- Schleifen
- Funktionen
- Klassen
- Includes
- Sessions und Cookies
- Login mit Sessions
- Login mit Datenbank
- Referer auslesen
- Wert aus Datenbank
- Variablen übergeben

MySQL Grundlagen
- Was ist das ?
- Erste Schritte
- Verbindung herstellen
- Einfache SQL Befehle
- SQL Injection

Häufig gefragt
- Was ist Adwords ?
- Interessante Links
- Wasserzeichen mod_rewrite
- Thumbnails erstellen
- PHP Gästebuch
- PHP Header
- Webseiten auslesen
- Socket Verbindungen
- E-Mail Adressen prüfen
- E-Mails versenden
- $_GET & $_POST
- Datenbank sichern
- Server DDOS Angriffe Abwehren
- Webhosting - Worauf ist zu achten ?
- Fachübersetzungen

Interessante Artikel
- Soft-Skill-Zertifizierung
- Sicherheits Workshops


Funktionen in PHP - ein mächtiges Werkzeug

Stellt euch vor, Ihr habt ein Programm was sehr oft immer wieder das selbe tut - zum Beispiel eine bestimmte Rechenaufgabe ausführen. Jetzt benötigt man diese Rechnung in einem Programm ca 50 mal, aber nicht hintereinander - also scheiden Schleifen aus. Ich könnte die Zeilen für die Berechnung der Formel 50x im Programmcode auftauchen lassen. Ändert sich allerdings was an der Formel, dann muss ich 50x die Formel korrigieren ! Hierfür kann man Funktionen deklarieren !

Eine Funktion ist praktisch wie ein neuer PHP Befehl den ich selbst erstelle !

Beispiel: function meineformel($zahl, $prozent)

<?php

    
# Diese Funktion rechnet den Prozentwert von der
    # angegebenen Zahl aus
    
function meineformel($zahl$prozent)
        {
        
$ergebnis = ($zahl 100) * $prozent;
        return 
$ergebnis;
        }

    echo 
"45 % von 100 sind = " meineformel(100,45) . "<br>";
    echo 
"60 % von 100 sind = " meineformel(100,60) . "<br>";
?>

Ausgabe:45 % von 100 sind = 45
60 % von 100 sind = 60

Erklärung:

Mit function definiere ich die neue Funktion, den neuen Befehl. Dahinter nenne ich meine neue Funktion meineformel. In klammern gebe ich an, welche Parameter meine Funktion beim Aufruf erwartet. In diesem Fall erwarten wir zuerst irgendeine Zahl und dann den Prozentwert den wir ausrechnen wollen.

Jetzt kann ich meineformel() so oft benutzen wie ich möchte. Muss ich etwas ändern muss ich nur diese eine Funktion ändern und nicht 50 Aufrufe im Programmtext.

Danach kommt meine Prozentformel die das Ergebnis in $ergebnis speichert. Ich könnte das Ergebnis jetzt mit echo ausgeben, aber ich weiss im Zweifel ja gar nicht ob der Teil des Programms der gerade diese Funktion benutzt auch wirklich eine Bildschirmausgabe haben möchte. Vielleicht wird diese Zahl auch nur für weitere interne Berechnungen benötigt, daher gebe ich die Zahl mit return zurück. Mit return $ergebnis; springt das Programm von der Schleife wieder zu dem Punkt wo die Funktion aufgerufen wurde und übergibt den ausgerechneten Wert. Benutze ich nicht den Befehl return, dann durchläuft PHP die Funktion bis zur letzten geschweiften Klammer.

Achtung - merke:

· die Funktion wird nicht ausgeführt, solange ich Sie nicht aufrufe
· Variablen ausserhalb der Funktion, existieren nicht innerhalb der Funktion
· Variablen innerhalb der Funktion, existieren nicht ausserhalb der Funktion


Füge ich am Ende des Skriptes noch ein echo $ergebnis hinzu, dann kriege ich auf dem Bildschirm nichts angezeigt. Innerhalb der Funktion meineformel wurde die Variable gesetzt , ausserhalb allerdings nicht daher ist sie ausserhalb nicht existent. Ich kann innerhalb und ausserhalb den selben Namen für eine Variable verwenden, ohne dass die beiden sich stören. Sie sind beide völlig unabhängig voneinander !


Beispiel:

<?php
    $a 
5;
    
$b 10;

    function 
schrank()
        {
        
$a 1;
        
$b 9;
        echo 
"A im Schrank ist = $a <br>";
        }

    function 
tisch()
        {
        
$b 2;
        echo 
"B auf dem Tisch ist = $b <br>";
        echo 
"A auf dem Tisch ist = $a <br>";
        }

    
schrank();        # starte Funktion schrank
    
tisch();        # starte Funktion tisch

    
echo "A ist $a <br>";
    echo 
"B ist $b <br>";
?>

Ausgabe:A im Schrank ist = 1
B auf dem Tisch ist = 2
A auf dem Tisch ist =
A ist 5
B ist 10

Schaut euch das genau an und verdeutlicht es euch !!!


Funktionen mit Startwerten füttern

Wenn man eine Funktion erstellt kann man selbst bestimmen, welche Werte man mit übergeben haben möchte. Man kann die Funktion allerdings auch so gestalten, dass wenn aus dem Programm kein Wert übergeben wird dass automatisch ein "anderer Wert" genommen wird.

Beispiel:

<?php
    
# Diese Funktion rechnet den Prozentwert von der
    # angegebenen Zahl aus
    
function meineformel($zahl=100$prozent=50)
        {
        if (
$zahl != 0)            # Wenn $zahl nicht 0 ist, dann ...
            
{
            
$ergebnis = ($zahl 100) * $prozent;
            return 
$ergebnis;
            }
        }

    echo 
meineformel();
?>

In diesem Beispiel haben wir unsere Prozentrechnungsfunktion genommen. Wir haben bei dem Aufruf aber in den runden Klammern keine Werte mit übergeben. Wenn Ihr oben bei der Definition mal in den runden Klammern guckt, dort steht $zahl=100 und $prozent=50 - das bedeutet wenn kein Wert übergeben wird, werden einfach diese beiden Werte genommen anstatt gar nichts. Dies geht auch mit Zeichenketten. Wenn eure Funktion zum Beispiel ein Wort erwartet, könnt Ihr auch ein "Standardwort" zuweisen, falls gar keins mit übergeben wird.






<<<< zurück Kapitelauswahl vorwärts >>>>




Kommentare: (absteigend sortiert)

Hier stehen noch alte Kommentare, die direkt über die Webseite gemacht wurden. Es kann dort nicht weiter kommentiert werden. Bitte nutzt dafür die Facebook Kommentare.

.:: 16.02.14 - 00:39 Uhr :: Name: Coyote Karl ::.
Also ich wollte heute abend schon mal mit php anfangen. In html bin ich ja schon halbwegs fit. Aber ob ich das mit meinem gesetzten Alter noch mal schaffe, solch eine andere Sprache zu lernen, insbesondere zu behalten.......Ich bin da skeptisch. Aber gut erklärt ist es schon.

.:: 02.07.13 - 18:21 Uhr :: Name: Andreas ::.
Einfach Topp Website. Weiter so!!!!

.:: 15.05.13 - 00:37 Uhr :: Name: Timmeyyy ::.
Keine Frage aber Kritik.
Durchweg positive Kritik!
Sehr schön geschrieben, Fachwissen gut und unkompliziert vermittelt = effektiv rübergebracht.

.:: 30.01.13 - 09:03 Uhr :: Name: Christian ::.
Hallo Jan,

mit dem Befehl "return $ergebnis;" sagts du der Funktion dass wenn sie aufgerufen wird den Wert von "$ergebnis" übergeben soll. Ansonsten würde die Funktions keinen Wert leifern.

Mit freundlichen Grüßen
Christian

.:: 07.12.11 - 11:24 Uhr :: Name: Oger22 ::.
Danke für die schnelle erklärung der funktionen von PHP.
Aber ich habe noch ne frage,kann man mit Potenzen oder z.b. mit dem Satz des Pythagoras
und vll. auch noch mit proportionale/antiproportionalen Aufgaben/Rechnungen rechnen?
Also ob PHP diese funktionen außrechnen kann?

MFG Oger22
Danke im Voraus

Ich habe noch ein kommentar hinterlassen , nicht zum Spammen sondern zum verbessern der fehler,den alten kommentar kann man ruhig löschen.

.:: 07.12.11 - 11:22 Uhr :: Name: Oger22 ::.
Danke für die schnelle erklärung der fnktionen von PHP.
Aber ich habe noch ne frage,kann man mit Potenzen oder z.b. mit dem Satz des Pythagoras
und vll. auch noch mit proportionale/antiproportionalen Ergebnissen rechnen?
Also ob PHP diese funktionen außrechnen kann?

MFG Oger22
Danke im Voraus

.:: 02.05.11 - 00:51 Uhr :: Name: Jan ::.
Hallo,

Ich verstehe nicht ganz, warum ich die Zeile
return $ergebnis; brauche, wenn ich mit der Variable außerhalb der Funktion nichts anfangen kann. Danke für eine kurze Info.

Ansonsten wirklich super Arbeit! Danke sehr!

Gruß Jan

.:: 04.03.11 - 11:17 Uhr :: Name: Simon ::.
Das "!=" steht für ungleich

also wenn bei einem Vergleich ein Ausrufezeichen vor dem "=" steht, wird nicht überprüft öb die beiden Werte gleich sind, sondern eben ungleich :)

Sprich in diesem Fall wird überprüft, dass die Zahl "$zahl" nicht gleich Null ist.

Gruss

.:: 20.02.11 - 14:59 Uhr :: Name: Dominik ::.
Dumme Frage: Warum braucht es beim
if ($zahl != 0) das Ausrufezeichen?

Für mich wäre es ohne "!" logisch, oder mache ich da einen Überlegungsfehler? :-)

.:: 12.08.10 - 22:41 Uhr :: Name: Charly ::.
Klar - wende einfach die Bruchregeln an ;)!

Bei addieren subtrahieren Nenner gleich machen etc ;-)))

.:: 10.08.10 - 13:57 Uhr :: Name: Anonymus ::.
kann man auch brüche rechnen?

.:: 07.08.10 - 10:59 Uhr :: Name: Charly ::.
Vielleicht etwas unglücklich formuliert. Gemeint ist, dass man eine Zahl nicht durch 0 teilen kann !

Beispiel: 100 / 0

Gruß
Charly

.:: 29.07.10 - 15:43 Uhr :: Name: Max ::.
"Sollte die Zahl gleich 0 sein und ich versuche 0 durch eine Zahl zu teilen, dann gibt dies einen Fehler ; weil die Zahl nicht errechenbar wäre."

Ist das PHP - spezifisch dass 0 durch eine Zahl nicht errechenbar ist, oder hast du dich vertan und mit "eine Zahl durch 0" verwechselt ?

Denn rein mathematisch gilt:

0/(eine beliebiege Zahl außer 0) = 0

somit auch 0/100 = 0

hingegen

(eine beliebige Zahl außer 0)/0 = undefiniert (zumindest in der Informatik bzw. in unserem Kontext)

(0/0 ist nochmal eine andere Sache, aber hier nicht relevant)

MfG
Max









Content
 
  Bottom Design  


PepperTools.de Software Download | Software Shop
www.imilkowski.eu - Software Programmierung und Webdesign


 


Persönliche Empfehlung
Mit Wix.com eine kostenlose Homepage erstellen ? Einfach, schnell und ohne Vorkenntnisse.