Ankündigung

Einklappen
Keine Ankündigung bisher.

Methodenaufruf in Methode

Einklappen

Neue Werbung 2019

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

  • Methodenaufruf in Methode

    Guten Morgen,

    folgendes Problem habe ich:

    Ich habe zwei Methoden, wobei ich die eine in der anderen Aufrufe, in der zweiten jedoch nicht die Variablen von der Ersten verwenden kann.. :

    PHP-Code:
        function getParam(){
            
    $var1 "test";
        }
        
        function 
    useParams(){
            
    getParam();
            echo 
    $var1;
        }
        
        
    useParams(); 
    Die Methode useParams() kennt irgendwie meine Variable $var1 nicht, ist es nicht so dass da ich getParam() aufrufe ich per echo $var1 in useParams() ausgeben kann? Fehler:
    Notice: Undefined variable: var1 in C:\xampp\htdocs\tests.php on line 9


    Hoffe ihr versteht was ich meine und könnt mir weiterhelfen.
    gruss natvia

  • #2
    So wird ein Schuh draus:

    PHP-Code:
    function getParam() {
       
    $var1 "test";
       return 
    $var1;
    }

    function 
    useParams() {
       
    $abc getParam();
       echo 
    $abc;

    In der ersten Funktion gibst du die gewünschte Variable zurück ("return"). In der zweiten Funktion bindest du diesen return-Wert an eine Variable.

    Schau dir aber mal die PHP-Dokumentation an und suche dort nach dem Geltungsbereich von Variablen. Dort wirst du feststellen, dass Variablen innerhalb einer Funktion auch nur in dieser gelten.

    Kommentar


    • #3
      var1 ist nur innerhalb von getParam() sichtbar. Nutze Rückgabewerte:
      PHP-Code:

          
      function getParam(){
              
      $var1 "test";
              return 
      $var1;
          }
          
          function 
      useParams(){
              
      $var1 getParam();
              echo 
      $var1;
          }
          
          
      useParams(); 

      Kommentar


      • #4
        Danke für deine Antwort .Das hatte ich mir auch gedacht, aber wenn ich nun in der einen Methode mehrere Variablen erzeuge, die ich dann in der anderen Methode benutzen möchte?
        (return kann man ja nur einen wert zurück geben..)
        Gruss

        Kommentar


        • #5
          Du redest von Methoden, ich sehe nur Funktionen. Wenn du wirklich von Methoden im Sinn von OOP Context redest, dann sieh dir $this an und informiere dich richtig über OOP Grundlagen.

          Gruß der Litter

          Kommentar


          • #6
            Ich meine Funktionen, sorry habe mich falsch ausgedrückt.
            Wie kann ich das da machen?
            gruss

            Kommentar


            • #7
              Dein Ernst? Guckst du bei mir oder bei jspit.

              Kommentar


              • #8
                Zitat von natvia22 Beitrag anzeigen
                Ich meine Funktionen, sorry habe mich falsch ausgedrückt.
                Wie kann ich das da machen?
                gruss
                Als aller erstes solltest du dir Zeit nehmen und angucken wie man Funktionen mit Parametern verwendet, dann probierst du in Ruhe aus was du lernst und kommst mit einem konkreten Problem wieder. Wir können doch hier nicht die Grundprinzipien von Funktionen, formellen und aktuellen Parametern erklären.

                Gruß Litter

                Kommentar


                • #9
                  darum geht es doch garnicht, wie man Funktionen mit Parametern schreibt etc. weiss ich ja, mir gehts nur drum wie ich die Variablen aus der einen Funktion in der Anderen verwenden kann bzw. ob das überhaupt so geht, wie ich beschrieben habe.

                  gruss

                  Kommentar


                  • #10
                    Zitat von natvia22 Beitrag anzeigen
                    darum geht es doch garnicht, wie man Funktionen mit Parametern schreibt etc. weiss ich ja, mir gehts nur drum wie ich die Variablen aus der einen Funktion in der Anderen verwenden kann bzw. ob das überhaupt so geht, wie ich beschrieben habe.

                    gruss
                    Ja scheinbar weist du das nicht.

                    PHP-Code:
                    function Foo ($param)
                    {
                        
                    $var 'Hallo';
                        return 
                    $var ' ' $param;;
                    }

                    function 
                    Bar()
                    {
                        
                    $returnString Foo('Welt');
                        return 
                    $returnString;
                    }

                    echo 
                    Foo('Welt'); 

                    Kommentar


                    • #11
                      Du kannst auch ein Array zurückgeben.

                      Kommentar


                      • #12
                        Zitat von p_nut Beitrag anzeigen
                        Dein Ernst? Guckst du bei mir oder bei jspit.
                        was meinst du?

                        Kommentar


                        • #13
                          Zitat von Investmentclub Beitrag anzeigen
                          Du kannst auch ein Array zurückgeben.
                          stimmt.. es ist ja möglich in einem Array ein Array zu übergeben, oder?

                          Kommentar


                          • #14
                            Zitat von natvia22 Beitrag anzeigen
                            stimmt.. es ist ja möglich in einem Array ein Array zu übergeben, oder?
                            Dies geht auch.

                            Oder so:
                            PHP-Code:
                            $var1 ""

                            function 
                            getParam(){ 
                                    
                            $var1 "test"
                                } 
                                 
                                function 
                            useParams(){ 
                                    
                            getParam(); 
                                    echo 
                            $var1
                                } 
                                 
                                
                            useParams(); 

                            Kommentar


                            • #15
                              Zitat von Investmentclub Beitrag anzeigen
                              Dies geht auch.

                              Oder so:
                              PHP-Code:
                              $var1 ""

                              function 
                              getParam(){ 
                                      
                              $var1 "test"
                                  } 
                                   
                                  function 
                              useParams(){ 
                                      
                              getParam(); 
                                      echo 
                              $var1
                                  } 
                                   
                                  
                              useParams(); 
                              so geht das eben nicht..^^

                              Kommentar

                              Lädt...
                              X