Ankündigung

Einklappen
Keine Ankündigung bisher.

Nach dem x Sonderzeichen absatz einfügen

Einklappen

Neue Werbung 2019

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

  • Nach dem x Sonderzeichen absatz einfügen

    Hallo PHP Freunde,

    ich bin totaler PHP Anfänger und stehe vor einem Problem das ich einfach nicht gelöst bekomme. Vlt denke ich auch zu kompliziert und es geht mit einer Funktion ganz einfach.

    Ich habe einen String mit Zahlen, Buchstaben und ; die die Daten trennen.
    Ich will die Daten später Zeile für Zeile auslesen um sie dann in eine mysql DB zu speichern.

    Mein String sieht so aus:

    12345;Max Mustermann;500;400;54321;Anne Testfrau;600;150;98765;Marko Tester;500;100.........

    Ich möchte das nach jedem 4 ; ein Absatz eingefügt wird, damit ich es später Zeile für Zeile speichern bzw. verwerten kann.

    Aus dem String würde ich gern folgenden Output haben:
    12345;Max Mustermann;500;400
    54321;Anne;Testfrau;600;150
    98765;Marko Tester;500;100

    Das könnte ich dann exploden und verarbeiten, nur leider fehlt mir die Funktion nach jedem 4 ; ein Absatz einzufügen.

    Ich hoffe ihr könnt mir helfen.
    Schönen Freitag euch allen!

    Viele Grüße


  • #2
    explode doch alles und setzte immer vier zusammen.

    Kommentar


    • #3
      Vielen Dank schon mal für die Antwort, aber wie kann ich die ersten 4 Arrays wieder zusammen fügen und dann wieder die nächsten 4.
      Der String ist immer unterschiedlich lang und kann bis zu 3000 Werte beinhalten.

      Mein Ansatz wäre :
      PHP-Code:
      $zeile $wert[0].$wert[1].$wert[2].$wert[3
      Nun müsste ich das ganze doch in einer Schleife realisieren die dann die Arrays mit hochzählt oder ?

      Kommentar


      • #4
        Wo kommt den dein String her?
        Wenn dieser aus einer Datei kommt, warum ist diese nicht gleich zeilenweise aufgebaut?
        PHP-Klassen auf github

        Kommentar


        • #5
          Der String ist ein export von einem Tool, dass leider alles in ein String packt ohne Zeilen einzusetzen.

          Kommentar


          • #6
            Versuche es nach dem Explode mit array_slice und einer for-Schleife mit der Schrittweite 4 .

            Edit:
            Das könnte ich dann exploden und verarbeiten,
            Dann kanst auch gleich auf das Orginal zugreifen und auf den Zwischenschritt verzichten.
            Es sei denn, du möchtest es als Datei wieder weitergeben.
            PHP-Klassen auf github

            Kommentar


            • #7
              PHP-Code:
              <?php
                  $arr 
              explode(';'$dein_string);

                  
              $i 0;

                  foreach (
              $arr as $key => $value) {
                      if (
              $key == 0) {
                          
              $i++;
                      }
                      
              $data[$i][] = $value;
                  }

                      
              print_r($data); // Multidemensionaler Array mit den jeweils 4 Werten zum weiterverarbeiten
              So in der Art vielleicht?

              Kommentar


              • #8
                Zitat von WTB Beitrag anzeigen
                PHP-Code:
                <?php
                    $arr 
                explode(';'$dein_string);

                    
                $i 0;

                    foreach (
                $arr as $key => $value) {
                        if (
                $key == 0) {
                            
                $i++;
                        }
                        
                $data[$i][] = $value;
                    }

                        
                print_r($data); // Multidemensionaler Array mit den jeweils 4 Werten zum weiterverarbeiten
                So in der Art vielleicht?
                Vieeeeeleeen Dank !
                Du hast mir sehr weiter geholfen, ich kann nun alle Daten sauber verarbeiten und in die DB eintragen.

                Könnte jemand kurz erklären was genau in der Schleife gemacht wird,
                da ich mit "as", "=>" und "%==" noch nicht gearbeitet habe.

                Schönen Sonntag euch allen !

                P.S. ich bin begeistert von dieser schnellen und aktiven Beteiligung hier im Forum. Klasse !

                Kommentar


                • #9
                  Zitat von mopsi Beitrag anzeigen
                  "as", "=>"
                  Spezielle Syntax der foreach-Schleife. Siehe http://at2.php.net/manual/de/control...es.foreach.php

                  Zitat von mopsi Beitrag anzeigen
                  "%=="
                  % ist der Modulo-/Rest-Operator, siehe: http://php.net/manual/de/language.op...arithmetic.php
                  Das == ist ein ganz normaler (typschwacher) Vergleich.

                  Kommentar


                  • #10
                    Warum einfach, wenn's auch kompliziert geht?!
                    PHP-Code:
                    $aResultData array_chunk(
                            
                    explode';'$sExportString ), 4
                        
                    ); 
                    Competence-Center -> Enjoy the Informatrix
                    PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                    Kommentar


                    • #11
                      Der String ist ein export von einem Tool, dass leider alles in ein String packt ohne Zeilen einzusetzen.
                      Da würde ich aber noch einmal genau nachsehen. Vielleicht zeigt Dein Editor das Zeichen einfach nur nicht an. Auch die Einstellungen des "Tools" wären noch einmal einen Blick wert.

                      Im Übrigen nennt man das Format CSV.

                      Abzuklären wäre noch, ob das Semikolon noch maskiert irgendwo anders vorkommen kann.
                      --

                      „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                      Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                      --

                      Kommentar

                      Lädt...
                      X