Variablen einer Funktion nach ihr verfügbar machen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • 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 |


    Kommentar


    • #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

      Kommentar


      • #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

        Kommentar


        • #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

          Kommentar


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

            Kommentar


            • #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

              Kommentar


              • #8
                _so_ schon mal nicht.

                mit "vorher" meine ich vor dem funktionsaufruf.

                Kommentar


                • #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

                  Kommentar


                  • #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

                    Kommentar


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

                      Kommentar

                      Lädt...
                      X