m.artin: mehrere Anweisungen

Hallo an alle,

ich versuche mal zu beschreiben: ich habe gleiche PHP Anweisungen, die ich häufig aufrufe. Gibt es eine Methode diesen einen Namen zu geben, den man dann nur noch aufrufen muss um sich arbeit zu sparen und das ganze übersichtlicher aussehen zu lassen?

als Beispiel:

eine Tabelle

<table>
 <tr>
  <td>
   <?php $t++; if ($t <= date("t", mktime(0,0,0, $mon ,1, $j))) {echo $t;} ?>
  </td>
  <td>
   <?php $t++; if ($t <= date("t", mktime(0,0,0, $mon ,1, $j))) {echo $t;} ?>
  </td>
  <td>
   <?php $t++; if ($t <= date("t", mktime(0,0,0, $mon ,1, $j))) {echo $t;} ?>
  </td>
 </tr>
</table>

kann ich nun anstatt 3x den gleichen (und komischen aber ist ja nur ein Bsp) PHP-Teil zu schreiben diesen nur einmal  schreiben und dann 3x nur einen Namen aufrufen?

Vielen Dank
Martin

  1. Hi,

    kann ich nun anstatt 3x den gleichen (und komischen aber ist ja nur ein Bsp) PHP-Teil zu schreiben diesen nur einmal  schreiben und dann 3x nur einen Namen aufrufen?

    Du kannst den Code in eine Funktion packen und dann diese aufrufen.

    mfG,
    steckl

    1. erstmal vielen Dank für die Antwort.

      das hab ich auch schon mal probiert bin aber gescheitet:

      <?php

      $t=5

      function test()
          {
        if ($t != 1) {echo $t;}
          elseif ($t == 1) {echo "1";}
        else echo "fehler";
          }

      test();
      ?>

      der gibt einfach nichts aus - wieso?

      1. Lieber m.artin,

        Du kennst das Prinzip von lokalen Variablen noch nicht.

        $t=5

        Diese Variable gilt auf dieser Ebene des Programms.

        function test()
            {

        Hier gibt es keine Variablen $t! Die Funktion namens "test" kennt die Variablen $t aus dem Hauptzweig des Scriptes nicht! Du kannst ihr aber eine eigene Variable zuweisen, in die Du den Wert aus $t einfügen lässt. Beispiel:

        $t = 1;  
          
        function test($var) {  
            echo "Habe den Wert '$var' erhalten.";  
            $t = 7;  
            echo "In der Funktion hat t den Wert '$t'!";  
        }  
          
        echo "Außerhalb der Funktion hat t den Wert '$t'!";  
        test(19);
        

        der gibt einfach nichts aus - wieso?

        Wieso? Na wahrscheinlich deshalb, weil Du keine Fehlermeldungen ausgeben lässt! Stelle Dein error_reporting auf E_ALL!

        Liebe Grüße aus Ellwangen,

        Felix Riesterer.

        --
        ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
        1. Hi,

          ausserdem wäre noch anzumerken, dass es nicht gerade der Übersichtlichkeit dient, wenn die Funktionsdefinitionen irgendwo mitten im Quellcode steht.

          Am übersichtlichsten finde ich es, wenn man Funktionen in andere Module auslagert.
          Bei kleineren Scripten könnte man sie - der Einfachkeit halber - auch ganz oben in den Quellcode schreiben.
          (ganz unten würde auch gehen, falls PHP Prototypen kennt, was ich aber nicht weiß)

          mfG,
          steckl