Variablen einer Funktion nach ihr verfügbar machen

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Variablen einer Funktion nach ihr verfügbar machen

    Hallo,

    wie schaffe ich es, dass ich einige Variablen, die in einer Funktion definiert wurden, nach der fkt wieder ferfügbar sind? Am besten wärs, wenn die Variablen nur dann später verfügbar wären, wenn die Fkt schon mal aufgrufen wurde?


    PHP Code:
    function 1()
    {
       
    blabla
       $variable 
    ="Hallo";


    function 
    2()
    {
       
    blabla
       $variable 
    ="Gruess Gott";


    echo
    "
    $variable"
    Je nach dem Welche Fkt aufgerufen wurde soll $Variable jetzt Hallo oder Grüß Gott ausgeben.
    Wer Rechtschreibfehler findet, darf sie behalten

  • #2
    PHP Code:
    function f1()
    {
       return 
    "Hallo";


    function 
    f2()
    {
       return 
    "Gruess Gott";


    echo 
    f1();
    echo 
    f2(); 
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Comment


    • #3
      Ist
      PHP Code:

      function say_hello()
      {
          return 
      'Hello.';
      }

      function 
      say_goodbye()
      {
          return 
      'Goodbye.';
      }

      $var say_hallo();
      echo 
      $var // gibt 'Hello.' aus 
      da nicht cleverer?
      Nieder mit der Camel Case-Konvention

      Comment


      • #4
        PHP Code:
        function foo(){
            global 
        $bar;
            
        $bar true;
        }

        print (
        $bar) ? "global" "nix global";

        foo();

        print (
        $bar) ? "global" "nix global"
        http://de.php.net/manual/de/reserved...iables.globals
        mfg

        Comment


        • #5
          Der letzte Ansatz kommt meinen Vorstellungen am nächsten; Denn nur wenn eine von mehreren vorhandenen Fkts aufgerufen wurde, soll der eine Ausgabe machen. Am besten wäre es, wenn in allen Fkts $Ausgabe vorkommen würde und in jeder Fkt einen anderen Wert hätte.
          Beispiel: Nur Funktion Nr.3 von insgesamt 4 wird aufgerufen und $Ausgabe hat den Wert "Das ist die Funktion Nr.4". Die Fkt wird beendet und ich möchte später im Skript nach der Fkt echo"$Ausgabe"; (Das hier soll fix sein!) aufrufen können der dann "Das ist die Funktion Nr.4" ausgibt.
          Wenn ich jetzt Fkt Nr.2 aufrufe, soll echo"$Ausgabe"; "Das ist die Funktion Nr.2" ausgeben

          die letzte sah, denke ich, am vielversprechendsten aus,
          hier wird "nix global" ausgegeben, aber leider immer(!), und nicht nur wenn die entsprechende fkt aufgerufen wurde
          Wer Rechtschreibfehler findet, darf sie behalten

          Comment


          • #6
            wurde $bar vorher explizit auf false gesetzt?

            Comment


            • #7
              öhm nö, wär das so richtig?

              PHP Code:
              function foo(){
                  global 
              $bar;
              if (
              foo){$bar true;
              }else {
              $bar false;
              }
                  
              }

              print (
              $bar) ? "global" "nix global";

              foo();

              print (
              $bar) ? "global" "nix global"
              Wer Rechtschreibfehler findet, darf sie behalten

              Comment


              • #8
                _so_ schon mal nicht.

                mit "vorher" meine ich vor dem funktionsaufruf.

                Comment


                • #9
                  und so? Je nachdem welchen funktionsnamen du in die variable $name_funktion schreibst, wird diese aufgerufen.
                  PHP Code:
                  <?php

                  function f1()
                  {
                  retrun "Funktion f1";
                  }

                  function 
                  f2()
                  {
                  retrun "Funktion f2";
                  }

                  function 
                  f3()
                  {
                  retrun "Funktion f3";
                  }


                  $name_funktion 'f1'// name der aufzurufenden funktion
                   // kann auch dynamisch (mit switch, if ...) belegt werden
                  $ausgabe $name_funktion();
                  echo 
                  $ausgabe;


                  ?>
                  Onlie Browsergame: http://www.war-of-empire.de <-- 2. Weltkrieg

                  Comment


                  • #10
                    Dann fürhr der doch die ganze Funktion nochmal aus, nur um den Namen später nochmal auszugeben (das meinte ich mit bla im ersten post) hmmm
                    Wenn ich die Funktion in f1 in meine funktion einsetze
                    als quasi
                    fkt
                    bla //text und ausgaben der fkt
                    fkt f1
                    ....
                    dann sagt er mir undefinierte funktion
                    Wer Rechtschreibfehler findet, darf sie behalten

                    Comment


                    • #11
                      vielleicht kommst auch einfach endlich mal auf den punkt und beschreibst, was du _genau_ vorhast.

                      Comment

                      Working...
                      X