variable in function

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

  • variable in function

    hi leuts,

    wenn ich eine variable in einer funktion habe, kann ich diese dann ganz normal im restlichen script verwenden od. muss ich sie als "globals" definieren weil sie eben in einer funktion steht?

    mit der echoausgabe krieg ich irgendwie nix raus egal wie ich sie deklariere.
    Zuletzt geändert von Metallica; 05.08.2003, 11:03.
    $PHP resource 4ever$

  • #2
    du musst sie als globale behandeln!


    function functionstest() {
    return "hallo";
    }

    $globale_var = fuctionsTest();

    echo $globale_var;
    h.a.n.d.
    Schmalle

    http://impressed.by
    http://blog.schmalenberger.it



    Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
    ... nur ohne :-)

    Kommentar


    • #3
      hmm,
      was mich in diesem zusammenhang nur verwirrt ist die tatsache, dass in der referenz steht: "Wenn man "return" in einer Funktion verwendet dann wird diese sofort beendet und die Kontrolle wird wieder an die aufrufende Zeile zurückgegeben"

      dieser teil den du mir im script ausgebessert hast, ist mir in zusammenhang mit global bzw. return noch immer nicht klar:

      function zufall_days() {
      bla bla bla
      return $dayend; //##===> Warum hier return und nicht $GLOBALS ???
      }

      $dayend = zufall_days(); //##===> Was passiert hier biddeessehr ??? ;-))

      $PHP resource 4ever$

      Kommentar


      • #4
        genau so ist es richtig!

        das hauptscript ruft die funktion auf. diese rechnet etwas und gibt dann den entsprechenden wert dorthin, wo sie aufgerufen wurde zurück.

        Kommentar


        • #5
          achso, jetzt verstehe ich.

          die funktion wird bei der abarbeitung des scripts von php erst durchgeführt wenn sie aufgerufen wurde.

          soll heißen: wenn die funktion zB ganz am anfang steht und der aufruf erst in der mitte des script's steht dann wird auch dann erst die funktion abgearbeitet. erfolgt kein aufruf wird die funktion ignoriert.

          richtig od. falsch?

          ps: was ist wenn ich mehrere $vars habe die ich im restlichen script benötige?
          Zuletzt geändert von Metallica; 05.08.2003, 11:47.
          $PHP resource 4ever$

          Kommentar


          • #6
            als beispiel:

            function test() {

            echo "hallo1";

            $var = 1;
            return $var;

            echo "hallo2";
            }

            hallo1 wird ausgegeben, hallo 2 nicht mehr, da vorher ein return kam!

            willst du eine Variable nur innerhalb einer funktion verwenden, mußt du sie nicht global verwenden (GLOBAL $var)

            ansonsten kannst du auch per referenz arbeiten:
            PHP-Code:
            <?php
            function test2 (&$func_var) {

            $func_var 4;

            }


            $var 2;

            test2($var);

            echo 
            $var;

            ?>

            Kommentar


            • #7
              quote:
              willst du eine Variable nur innerhalb einer funktion verwenden, mußt du sie nicht global verwenden (GLOBAL $var)

              => genau das ist es!!! wenn ich also mehrere variablen in einer funktion habe die ich alle im ganzen script benötige dann muss ich diese als GLOBAL definieren! Richtig, oder?
              anmerkung: nach dem ende der funktion führe ich mehrere UPDATE-Statement's durch wo ich alle variablen aus der function benötige.

              zu return:
              jetzt ist mir das klar! alles was innerhalb der funktion nach return kommt wird nicht mehr durchgeführt, oder?
              Zuletzt geändert von Metallica; 05.08.2003, 12:50.
              $PHP resource 4ever$

              Kommentar


              • #8
                man kann auch ein array returnen

                Kommentar


                • #9
                  das war aber leider nicht die antwort auf meine frage (siehe last posting)

                  $PHP resource 4ever$

                  Kommentar


                  • #10
                    ja, oder als referenz übergeben.

                    Kommentar


                    • #11
                      das hab ich auch schon gesagt

                      aber er weiß ja jetzt, was er wissen wollte

                      Kommentar


                      • #12
                        danke.
                        habe schon alles als global definiert.
                        sollte passen!

                        $PHP resource 4ever$

                        Kommentar

                        Lädt...
                        X