chriss: Mehrere Zeilen in ein array speichern

Hi,
ich speichere mehrere Zeilen, jeweil eine Zeile in ein Array. Da es aber ziemlich viele(zusammenhängende) Zeilen sind, meine Frage, ob ich irgendwie gleich mehrere Zeilen in ein array speichrn kann?

$text1 = "$array[96] ";  
$text2 = "$array[97] ";  
$text3 = "$array[98] ";  
$text4 = "$array[99] ";  
$text = ($text1. $text2. $text3. $text4);

Danke
chriss

  1. Huhu,

    es gibt doch eine ganze Hand voll von Arrayfunktionen bzw. implode und explode ... damit kann man sicher realisieren, was du vor hast.

    mfg
    Knusperklumpen

  2. Hello,

    ich speichere mehrere Zeilen, jeweil eine Zeile in ein Array. Da es aber ziemlich viele(zusammenhängende) Zeilen sind, meine Frage, ob ich irgendwie gleich mehrere Zeilen in ein array speichrn kann?

    $text1 = "$array[96] ";

    $text2 = "$array[97] ";
    $text3 = "$array[98] ";
    $text4 = "$array[99] ";

    Was Du hier oben tust, ist aber die Inhalte der Array-Elemente in skalare Variablen zu speichern

    und dabie jedes Mal ein Leerzeichen anzuhängen. Dass das hier überhaupt funktioniert, liegt daran,

    dass deine Array-Elemente nur numerisch indiziert sind.

    $text = ($text1. $text2. $text3. $text4);

    Um diesen letzten Schritt gelich aus den Array-Elementen durchzuführen, gibt es die Funktion

    ##    implode()  [link:http://de3.php.net/manual/en/function.implode.php]

    oder auch das Schleifenkonstrukt

    ##    foreach()  [link:http://de3.php.net/manual/en/control-structures.foreach.php]

    wenn gleichzeitig noch etwas anderes mit den Elementen gemacht weden muss.

      
      
    Liebe Grüße aus dem schönen Oberharz  
      
      
    Tom vom Berg  
    ![](http://selfhtml.bitworks.de/Virencheck.gif)  
      
    
    -- 
     ☻\_  
    /▌  
    / \ Nur selber lernen macht schlau  
    <http://bergpost.annerschbarrich.de>
    
    1. Hallo,

      der Hintergrund ist, ich möchte einen Teil aus einer Datei auslesen und in eine andere Datei speichern. Das was ich speichern möchte, steht ungefähr von Zeile 100 bis 150. Da ist es natürlich ganz schön umständlich, jede Zeile in ein extra array zu schreiben..

      Gruß
      chriss

      1. 'ǝɯɐu$ ıɥ

        der Hintergrund ist, ich möchte einen Teil aus einer Datei auslesen und in eine andere Datei speichern. Das was ich speichern möchte, steht ungefähr von Zeile 100 bis 150. Da ist es natürlich ganz schön umständlich, jede Zeile in ein extra array zu schreiben..

        Wieso extra ein Array pro Zeile? Du willst dich mit file(); beschäftigen.

        ssnɹƃ
        ʍopɐɥs

        --
        I like children. If they're properly cooked.
        - W.C. Fields
        1. Moin!

          'ǝɯɐu$ ıɥ

          der Hintergrund ist, ich möchte einen Teil aus einer Datei auslesen und in eine andere Datei speichern. Das was ich speichern möchte, steht ungefähr von Zeile 100 bis 150. Da ist es natürlich ganz schön umständlich, jede Zeile in ein extra array zu schreiben..

          Wieso extra ein Array pro Zeile? Du willst dich mit file(); beschäftigen.

          Und er will sich mit der Frage beschäftigen woran er die benötigten Zeilen erkennt.

          Ferner wissen wir nichts über die Umstände. Möglicherweise, insbesondere bei großen Datenmengen, wäre der Einsatz von grep, head, tail, tr, sed, cut,sort, awk vorteilhaft:

          Zeilen 150-200 einer Datei:

          a) in der (Unix/Linux) Shell:
          ~> head -n 200 datei.txt | tail -n 50 > datei.neu.txt

          Es werden die ersten 200 Zeilen ausgelesen, durch das Rohr zum nächsten Filter gejagt der dann nur die letzten 50 übrig lässt.

          b) ausgehend von PHP auf einem Unix-System, welches System-Befehle erlaubt:
          system ("head -n 200 /dir/datei.txt | tail -n 50 > /dir/datei.neu.txt");

          Alle Zeilen mit einem Merkmal:

          a) in der Shell:
          ~> grep "Suchfilter" datei.txt > datei.neu.txt

          b) ausgehend von PHP auf einem Unix-System, welches System-Befehle erlaubt:
          system ("grep "Suchfilter" datei.txt > datei.neu.txt");

          Hinweise:

          Auf gängigen Linux-Systemen versteht grep auch reguläre Ausdrücke.
          Wird es ganz wild kann auch awk, sort, cut benutzt werden.
          awk (advanced word kompressor) kann man sogar als "eine Art scriptgesteuertes Excel am Prompt für CSV-Dateien" gebrauchen. Ja: awk kann auch rechnen.

          Die Beschäftigung mit diesem Zeug ist für jeden, der Daten in textform vorliegen hat und verarbeiten soll, absolut lohnend.

          MFFG (Mit freundlich- friedfertigem Grinsen)

          fastix

  3. Hi,

    $text1 = "$array[96] ";

    $text2 = "$array[97] ";
    $text3 = "$array[98] ";
    $text4 = "$array[99] ";
    $text = ($text1. $text2. $text3. $text4);

      
    Solche Murks solltest du dir abgewöhnen.  
      
    Variablen müssen nicht in Anführungszeichen stehen (bei Array-Elementen kann das sogar Probleme bereiten) - wenn du nur ein Leerzeichen anfügen willst, kannst du das auch in der Form machen:  
      
    `$text1 = $array[96].' ';`{:.language-php}  
      
    Aber wie schon gesagt wurde, implode kann sowas auch einfacher für dich machen, in einem Rutsch.  
      
    Dass du die Text-Variablen im Namen „durchnummerierst“, ist ein weiterer Fehler. Wann immer du in die Versuchung kommst, so etwas zu tun - nutze ein Array stattdessen!  
      
    Und die Klammerung in der letzten Zeile ist auch überflüssig.  
      
    MfG ChrisB  
      
    
    -- 
    “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]