komplette Arrays zurückgeben / Globales Array?

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

  • komplette Arrays zurückgeben / Globales Array?

    Hi Leute,

    habe nen kleines Prob.


    Ich will folgendes umsetzen:


    Main
    function1();
    for ($i=0;$i<100;$i++)
    {
    function2(wert);
    }

    function1
    {
    dort werden werte aus ner DB in ein Array eingelesen
    }

    function2
    {
    stimmt übergebener Wert mit einem Wert des Arrays überein
    }

    Also ich will in der function1 ein Array einlesen aber die Werte in function2 zur Verfügung gestellt haben. Da gibt es ja globale Arrays so weit ich weiß aber ich habe "register_globals=off"
    Also geht das doch auch nicht..
    Ich könnte zwar das Array auch Direkt in Function2 einlesen aber func2 wird 100 mal aufgerufen von daher ist das bisschen unglücklich.
    Habt Ihr da ne Möglichkeit für mich?
    Viellleicht programmiere ich auch einfach zu umständlich

  • #2
    Re: komplette Arrays zurückgeben / Globales Array?

    Original geschrieben von psydash
    Also ich will in der function1 ein Array einlesen aber die Werte in function2 zur Verfügung gestellt haben.
    und warum übergibst du die werte/das array dann nicht einfach als parameter an die funktion ...?
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      gehts so?

      PHP-Code:
      $array = array();

      function 
      test1()
      {
         global 
      $array;
          
      //einlessen
      }


      function 
      test2()
      {
         global 
      $array;
          
      //speichern

      das register_globals bezieht sich doch nur auf die $_POST und $_GET Variablen oder nicht?
      Zuletzt geändert von mk85; 11.10.2004, 15:15.

      Kommentar


      • #4
        Re: Re: komplette Arrays zurückgeben / Globales Array?

        Original geschrieben von wahsaga
        und warum übergibst du die werte/das array dann nicht einfach als parameter an die funktion ...?

        das ist ja meine Frage wie kann ich komplette Arrays mit Return zurück geben und wieder an ne Function übergeben. Bin noch ziemlich neu in PHP

        Gruß

        Kommentar


        • #5
          @mk85, global soll man immer vermeiden. Besser:
          PHP-Code:
          function f1(arr_arg_Varname) ... 

          Kommentar


          • #6
            Re: Re: komplette Arrays zurückgeben / Globales Array?

            Original geschrieben von wahsaga
            und warum übergibst du die werte/das array dann nicht einfach als parameter an die funktion ...?
            ich werde es mal ausprobieren

            Kommentar


            • #7
              Original geschrieben von asp2php
              @mk85, global soll man immer vermeiden. Besser:
              PHP-Code:
              function f1(arr_arg_Varname) ... 

              öhm das kapiere ich nicht ganz
              global wolle ich das besser auch nicht machen wenn es geht aber was Du da gerade geschrieben hast plane ich nicht ganz

              Kommentar


              • #8
                Re: Re: Re: komplette Arrays zurückgeben / Globales Array?

                Original geschrieben von psydash
                das ist ja meine Frage wie kann ich komplette Arrays mit Return zurück geben und wieder an ne Function übergeben. Bin noch ziemlich neu in PHP

                Gruß
                schau mal:
                PHP-Code:

                function f1() {
                   for (
                $i=0;$i<10;$i++)
                      
                $arrVar[] = $i;
                   return (
                count($arrVar)>0) ? $arrVar false;
                }

                function 
                f2($argArr) {
                   if (
                is_array($arrArg)) 
                      
                print_r($argArr);
                   else 
                      echo 
                'not an array';
                }

                $myArr f1();
                f2($myArr); 

                Kommentar


                • #9
                  @asp2php
                  warum was ist an dem global schlecht...
                  bin nicht allzusehr php erfahren ... klär mich bitte auf

                  Kommentar


                  • #10
                    Original geschrieben von mk85
                    @asp2php
                    warum was ist an dem global schlecht...
                    bin nicht allzusehr php erfahren ... klär mich bitte auf
                    weil du sehr schnell den Überblick verlierst. Wenn das Projekt umfangreich ist, weißt du nicht mehr wo, wie, was geändert wurde; vor allem wenn du im Team arbeitest und jede verwendet global um auf externe Variable zuzugreifen und dabei versehentlich was ändern, dann viel Spaß beim Fehler suchen . Für mich ist global absolut überflüssig und verleitet nur zum unsauberen Programmieren.
                    EDIT:
                    und wenn du mal externe Variable in einer Funktion ändern willst, und der return schon besetzt ist, dann kannst du "by reference" übergeben. Du siehst, man braucht global gar nicht
                    Zuletzt geändert von asp2php; 11.10.2004, 16:45.

                    Kommentar

                    Lädt...
                    X