[Funktion] Variablen

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

  • [Funktion] Variablen

    Hallo,

    ich wollte mal fragen ob es eine möglichkeit gibt, bei funktionen die variablen in das normale script zu überführen?

    mfg alex

  • #2
    return oder global

    Kommentar


    • #3
      dnake =)

      Kommentar


      • #4
        PHP-Code:
        funktion a($rest,$counter,$Netz)
        {
        if(
        $rest >= 1)
        {
            echo 
        "1</font>";
            
        $netzip[7] = 1;
            
        $counter++;
            
        $rest $rest 1;
        }
        else
        {
        $netzip[7] = 0;echo "0";$counter++;echo "</font>";}}
        $netzstr implode($netzip);
        GLOBAL 
        $netzstr;
        }

        funktion 
        b
        ($eingabe1,$eingabe2,$eingabe3,$eingabe4,$Netz,$moeglichkeiten,$nr)
        {
        netz($eingabe1,0,$Netz);
        $netzstr1 $netzstr;
        netz($eingabe2,8,$Netz);
        $netzstr2 $netzstr;
        netz($eingabe3,16,$Netz);
        $netzstr3 $netzstr;
        netz($eingabe4,24,$Netz);
        $netzstr4 $netzstr;
        $netzadrr "$netzstr1"."$netzstr2"."$netzstr3"."$netzstr4"

        Warum gibt er mir als fehler "Notice: Undefined variable: netzstr in" obwohl ich die doch als gobal gespeichert habe kann ich sie in der funktion b nicht als werte benutzen....

        Kommentar


        • #5
          Du mußt sie in b() aus dem global Scope importieren, z.b. so:
          PHP-Code:
          function b(...) {
              global 
          $netzstr;
              ...

          Aber in deinem Fall (wie fast immer) ist global nicht der richtige Weg. Benutze return, gibt $netzstr zurück und reiche es dann an b() weiter!

          Kommentar


          • #6
            aber beendet return nicht die funktion?

            Kommentar


            • #7
              richtig.

              Kommentar


              • #8
                aber beendet return nicht die funktion?
                ja, aber?

                schau dir auch mal das $GLOBALS array an...

                Kommentar


                • #9
                  PHP-Code:
                  function a($rest,$counter,$Netz)
                  {
                  ...
                  if(
                  $rest >= 1)
                  {
                      echo 
                  "1</font>";
                      
                  $netzip[7] = 1;
                      
                  $counter++;
                      
                  $rest $rest 1;
                  }
                  else
                  {
                  $netzip[7] = 0;echo "0";$counter++;echo "</font>";}}
                  $netzstr implode($netzip);
                  global 
                  $netzstr;
                  }


                  function 
                  b($eingabe1,$eingabe2,$eingabe3,$eingabe4,$Netz,$moeglichkeiten,$nr)
                  {
                  netz($eingabe1,0,$Netz);
                  $netzstr1 $netzstr;
                  netz($eingabe2,8,$Netz);
                  $netzstr2 $netzstr;
                  netz($eingabe3,16,$Netz);
                  $netzstr3 $netzstr;
                  netz($eingabe4,24,$Netz);
                  $netzstr4 $netzstr;
                  $netzadrr "$netzstr1"."$netzstr2"."$netzstr3"."$netzstr4";
                  echo 
                  "<br>$netzadrr";
                  $laenge strlen($netzadrr);
                  $ro 32-$laenge;
                  $laenge $laenge-$ro;
                  $output=substr($netzadrr,0,$laenge);
                  $zufug $moeglichkeiten[$nr];
                  $ip[$nr] = "$output"."$zufug";
                  print_r($ip);

                  das ist ja mein ziel...

                  Kommentar


                  • #10
                    ich kaufe... eine problembeschreibung.

                    Kommentar


                    • #11
                      ja das Problem ist das ich die variablen aus der funktion a gerne in b benutzen würde

                      Kommentar


                      • #12
                        und du hast zwei bis drei lösungen dazu erhalten. woran genau scheiterst du?

                        lass dir nicht alles aus der nase ziehen. du hast das Problem.

                        Kommentar


                        • #13
                          PHP-Code:
                          function a(){
                             
                          $x 23;
                             return 
                          $x;


                          function 
                          b($param){
                             return 
                          $param 1;
                          }

                          $aus_a a();

                          $aus_b b($aus_a);

                          echo 
                          $aus_b

                          Kommentar


                          • #14
                            Original geschrieben von penizillin
                            PHP-Code:
                            function a(){
                               
                            $x 23;
                               return 
                            $x;


                            function 
                            b($param){
                               return 
                            $param 1;
                            }

                            $aus_a a();

                            $aus_b b($aus_a);

                            echo 
                            $aus_b
                            Ich wusste nicht das ich die funktion in einer Variable abspeichern muss :-/ dann is das ganze ja recht einfach... hmpf

                            Kommentar


                            • #15
                              bevor du weitere drei dutzend sachen "nicht weißt" und sie nachfragen musst, empfehle ich ein gutes buch über die programmiersprache, sowie gute internet seiten wie peterkropff.de, tut.php-q.net und vor allem das manual unter php.net.

                              Kommentar

                              Lädt...
                              X