Funktionen

Die HTML-Anweisungen der Beispiele wurden mit einem Leerzeichen ungültig gemacht, damit sie nicht ausgeführt werden. Für korrekte HTML-Anweisungen ersetze die Zeichenfolge '< ' durch '<'.

Funktion ( ohne Parameter )

< html>
< head>
< ?php
   function trennstrich()
   {
      echo "
"; for ($i=1; $i<=40; $i=$i+1) { echo "-"; } echo "< br>"; } ?> < /head> < body> < ?php trennstrich(); echo "Dies ist ein Programm,"; trennstrich(); echo "in dem mehrmals"; trennstrich(); echo "eine Funktion verwendet wird,"; trennstrich(); echo "die zu Beginn definiert wurde"; trennstrich(); ?> < /body> < /html>

Funktion mit einem Parameter

< html>
< head>
< ?php
   function trennstrich($anzahl)
   {
      echo "< br>";

      for ($i=1; $i<=$anzahl; $i=$i+1)
      {
         echo "-";
      }
      echo "< br>";
   }
?>
< /head>
< body>
< ?php
   trennstrich(30);
   echo "In diesem Programm,";
   trennstrich(40);
   echo "sind die Trennstriche";
   $x = 20;
   trennstrich($x);
   echo "unterschiedlich lang";
   trennstrich($x * 3);
?>
< /body>
< /html>

Funktion mit mehreren Parametern

< html>
< head>
< ?php
   function flexloop($von, $bis, $schritt)
   {
      echo "< br>Es folgt eine Schleife von $von";
      echo " bis $bis mit der Schrittweite $schritt< br>";

      for ($i = $von; $i <= $bis; $i = $i + $schritt)
      {
         echo "$i ";
      }
   }
?>
< /head>
< body>
< ?php
   echo "

Nummer 1"; flexloop(5,27,3); echo "

Nummer 2"; flexloop(-10,10,4); echo "

Nummer 3"; $x = 100; $y = 200; $z = 10; flexloop($x,$y,$z); echo "

Nummer 4"; flexloop($x,$y,($y-$x)/20); ?> < /body> < /html>

Funktion mit Rückgabewerten

< html>
< head>
< ?php
   function add($z1, $z2)
   {
      $summe = $z1 + $z2;
      return $summe;
   }
?>
< /head>
< body>
< ?php
   $c = add(3,4);     // aufrufende Stelle
   echo "Summe: $c< p>";

   $x = 5;
   $c= add($x,12);    // aufrufende Stelle
   echo "Summe: $c< p>";

   // aufrufende Stelle innerhalb der Ausgabe
   echo "Summe: " . add(13,2) . "< p>";
?>
< /body>
< /html>

Call by value / Call by reference

< html>
< head>
< ?php

   function vtauschen($a, $b)
   {
      $temp = $a;
      $a = $b;
      $b = $temp;
   }

   function rtauschen(&$a, &$b)
   {
      $temp = $a;
      $a = $b;
      $b = $temp;
   }

?>
< /head>
< body>
< ?php
   $x = 12;   $y = 18;
   echo "Methode 1, vorher: $x, $y < p>";
   vtauschen($x,$y);
   echo "Methode 1, nachher: $x, $y < p>";

   $x = 12;   $y = 18;
   echo "Methode 2, vorher: $x, $y < p>";
   rtauschen($x,$y);
   echo "Methode 2, nachher: $x, $y < p>";

   $x = 12;   $y = 18;
   echo "Methode 3, vorher: $x, $y < p>";
   vtauschen(&$x,&$y);
   echo "Methode 3, nachher: $x, $y < p>";
?>
< /body>
< /html>

Globale und lokale Variable

< html>
< head>
< ?php
   function summiere()
   {
      echo "Variable z: $z< p>";
      global $x;
      $y = 35;
      $z = $x + $y;
      echo "Variable z: $z< p>";
   }
?>
< /head>
< body>
< ?php
      $x = 6;
      $y = 52;
      $z = $x + $y;
      summiere();
      echo "Variable z: $z< p>";
?>
< /body>
< /html>