Ankündigung

Einklappen
Keine Ankündigung bisher.

array wert als variable nähmen

Einklappen

Neue Werbung 2019

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

  • array wert als variable nähmen

    Also
    Ich habe eine .txt datei die so aussieht:
    Code:
    Tag
    1
    2
    und eine .php datei die dieses einlesen soll sieht so aus:
    Code:
    <?php 
    $file  = "test.txt"; 
    $array = file($file); 
    $var0 = $array[0];
    $var1 = $array[1];
    $var2 = $array[2];
    echo "$var1";
    ?>
    jede variable bekommt den entschprechenden wert aus test.txt zugeordnet.
    Wie kann ich nun aber zb. die erste zeile ( also Tag ) selbst als eine variable einlesen ?????

    Eine nebenfrage:
    Wenn ich mit
    Code:
     
    <?php
    $file = "test.txt";
    $array =file($file);
    ?>
    eine .txt datei einlese und die werte den entschprechenden variablen zuordne, werden dann die werte aus array gelöscht wenn ich daraufhin die nähste .txt datei einlese oder muss ich noch extra befehl eingeben ???

    Noch eine nebenfrage:
    also so lese ich normal aus einer .txt datei aus
    Code:
    <?php 
    $file  = "test.txt"; 
    $array = file($file); 
    $var0 = $array[0];
    $var1 = $array[1];
    $var2 = $array[2];
    echo "$var1";
    ?>
    Hab ich wenn ich alles richtig verstanden habe dann kann ich auch so auslesen.
    Code:
    <?php 
    $file  = "test.txt"; 
    $array = file($file); 
    $var0 = $array[0][1];
    $var1 = $array[1][0];
    $var2 = $array[2][2];
    echo "$var1";
    ?>
    wobei die erste nummer die zeile festlegt und die zweitte die schpalte, dabei müssen die werte in der txt datei mit | getrennt werden ( xyz|abc|def )

    Eine weitere Nebenfrage:
    Wenn meine oben angegebene vermutung zutrifft, wie kann ich dann,wenn ich mit fwrite (); werte in den text schreibe, zwischen den werten diesen | trennzeichen setzen ???
    Ungefair so ??
    Code:
    $fp = fopen("test.txt", "w"); 
    fputs($fp, $var1."|".$var2."|".$var3); 
    fclose($fp);
    Phuuuuh .. so viele nebenfragen ^^

  • #2
    Re: array wert als variable nähmen

    Wie kann ich nun aber zb. die erste zeile ( also Tag ) selbst als eine variable einlesen ?????
    Tust du doch schon $array[0] enthält die erste Zeile der Datei

    werden dann die werte aus array gelöscht wenn ich daraufhin die nähste .txt datei einlese oder muss ich noch extra befehl eingeben ???
    Das Array wird dabei überschrieben, da musste nix machen, ansonsten kannste auch mit
    Code:
    $array = array();
    löschen

    wobei die erste nummer die zeile festlegt und die zweitte die schpalte, dabei müssen die werte in der txt datei mit | getrennt werden ( xyz|abc|def )
    Da musste mit explode() arbeiten

    Code:
    $fp = fopen("test.txt", "w"); 
    fputs($fp, $var1."|".$var2."|".$var3); 
    fclose($fp);
    Müsste so hinhauen

    Phuuuuh .. so viele nebenfragen ^^
    Puuuh! So viele Antworten...

    Kommentar


    • #3
      Frage 1:
      Code:
      $$array[0] = 'Inhalt der Variable';
      Nebenfragen: Nein, Du verdoppelst Die Variablen und die Inhalte, was mich zur Frage nach Sinhaftigkeit dieser Aktion führt ...

      Mit
      Code:
      $array = file('irgendwas')';
      überschreibst Du den alten Inhalt.

      $array[0][0] usw. geht nur, wenn Du die Textdatei mit fgetcsv() einliest.

      Ja, ungefair so

      Kommentar


      • #4
        Hab das mit $array[0][0] ausprobiert .. hat natürlich net geklappt.
        test.txt sa so aus:

        Montag|Dienstag|Mittwoch

        dann hab versucht $array[0][3] auszugeben und habe anstatt Mittwoch die buchstabe t bekommen .. son mist ^^

        ömm hab die hilfe von fgetcsv(); geöffnet ... ömm .. steht nur wirres zeug drinne was ich nur zu helfte verstanden habe

        mein code zu:
        Code:
        <?php 
        $file  = "test.txt"; 
        $array = fgetcsv($file); 
        $var0 = $array[0][1]; 
        $var1 = $array[1][0]; 
        $var2 = $array[2][2]; 
        echo "$var1"; 
        ?>
        ömm .. so oder wie ???
        ---------------------------------------------------------------------------
        ömm .. hab ausprobiert klappt net .. hmm .. kann mir einer ma erkleren wie ich fgetcsv(); richtig anwende ??
        Und wo ist der unterschied zu file(); ??? vorteile / nachteile.

        Kommentar


        • #5
          Ja, ja, das viele wirre Zeug ... das kleine schwarze sind die Buchstaben ...

          fgetcsv() will wie fgets einen Zeiger haben.
          Code:
          $fp = fopen($file, 'r');
          while ($array[] = fgetcsv($fp, 1024, '|'))
              {
              // nix
              }
          fclose($fp);

          Und dann schau Dir mal $array an:
          Code:
          print_r($array);

          Kommentar


          • #6
            Ahhh danke danke danke ^^
            -----------------------------------------------------------
            ömm .. hab wieder ein problem :/ und zwar mit
            Frage 1: Code:
            $$array[0] = 'Inhalt der Variable';
            Habs so versucht:
            test.txt
            • Juli
              Montag
              5


            index.php
            Code:
            <?php 
            $file  = "test.txt"; 
            $array = file($file); 
            $var1 = $array[1];
            $var2 = $array[2];
            $$array[0] = "$var1 $var2";
            echo "$Montag";
            ?>
            kommt aber nix raus :/ wie kann ich nun einen array[]; wert als variable festlegen ?? also in variable umwandeln ?

            Kommentar


            • #7
              weis den keiner wie das geht :/ ??

              Kommentar


              • #8
                Dann schau Dir mal
                Code:
                echo $Juli;
                an. In array[0] steht doch »Juli«, nicht »Montag« ...

                Kommentar


                • #9
                  ups .. hab mich vertan .. hab nun auf Juli gewechselt .. geht trotzdem nicht :/

                  Kommentar


                  • #10
                    Bei mir funktioniert's. Was hast Du eigentlich vor? Hört sich alles eher umständlich an ...

                    Kommentar


                    • #11
                      Lass dir das Array ausgeben, ob dieses überhaupt korrekte Werte enthält.
                      Code:
                      <?php
                      $file = "test.txt";
                      $array = file($file);
                      print_r($array);
                      $$array[0] = $array[1]." ".$array[2];
                      echo $Juli;
                      ?>

                      Kommentar


                      • #12
                        Also habs gemmacht
                        Code:
                        <?php 
                        $file  = "test.txt"; 
                        $array = file($file);
                        print_r($array); 
                        $$array[0] = $array[1]." ".$array[2]; 
                        echo "$Juli";
                        ?>
                        Die ausgegebenen werte sahen so aus:

                        Array ( [0] => Juli [1] => Montag [2] => 5 )

                        hmmm :/ obwohl die ausgabe so aussehen sollte:

                        Array ( [0] => Juli [1] => Montag [2] => 5 )
                        Montag 5

                        Wieso gibt er bei diesem teil des codes nix aus ???
                        Code:
                        $$array[0] = $array[1]." ".$array[2]; 
                        echo "$Juli";

                        Kommentar


                        • #13
                          Die Arrayeinträge enthalten noch die Zeilenendezeichen.
                          Code:
                          <?php
                          $file = "test.txt";
                          $array = file($file);
                          print_r($array);
                          $array[0]=chop($array[0]);
                          $$array[0] = $array[1]." ".$array[2];
                          echo "
                          ".$Juli;
                          ?>

                          Kommentar


                          • #14
                            ahh .. jetzt hat es geklappt ^^ danke
                            Was ist eigentlich die funktion von chop im diesen fall .. hab in meiner hilfe datei nachgeschut .. steht nur sehr wenig drüber.

                            Kommentar


                            • #15
                              chop -- Entfernt Leerzeichen, Tabulatoren und Zeilenvorschübe am String-Ende

                              ist ein Alias für rtrim()

                              Kommentar

                              Lädt...
                              X