Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit foreach - Schleife

Einklappen

Neue Werbung 2019

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

  • Problem mit foreach - Schleife

    Hallo Leute,

    ich bin PHP Anfänger und versuche gerade folgendes Problem zu lösen.

    Aus einer txt datei sollen Keywords ausgelesen werden und in eine CSV Datei geschrieben werden.

    Das ist der Code, das klappt bisher ganz gut.
    PHP-Code:

    foreach ($keywords as $kw) {
        
    $csv = array();
        
    $kw trim($kw);


        
    // Für jede Spalte im CSV ein Element anlegen
        
    $csv[0] = $kw;
        
    $csv[1] = str_replace("{PLATZHALTER_1}"$kw$htmlSnippet);
        
    $csv[3] = "publish";


        
    $csvOut .= implode(";"$csv) . ";\n";
        } 

    Wenn ich nun aber aus einer zweiten txt Datei Keywords auslesen will und diese ebenfalls in das array packen möchte, klappt das ganze leider nicht.

    So sieht mein Code-Vorhaben aus:
    Die Variable $ct soll die Werte aus der zweiten txt Datei annehmen.

    PHP-Code:
    foreach ($keywords as $kw) {
    foreach (
    $categories as $ct){
        
    $csv = array();
        
    $kw trim($kw);
        
    $ct trim($ct);

        
    // Für jede Spalte im CSV ein Element anlegen
        
    $csv[0] = $kw;
        
    $csv[1] = str_replace("{PLATZHALTER_1}"$kw$htmlSnippet);
        
    $csv[3] = "publish";
        
    $csv[4] = $ct;

        
    $csvOut .= implode(";"$csv) . ";\n";
        }



    Was ist mein Denkfehler?
    Komme wirklich nicht weiter und verzweifle...

  • #2
    Wenn ich nun aber aus einer zweiten txt Datei Keywords auslesen will und diese ebenfalls in das array packen möchte, klappt das ganze leider nicht.
    Das liegt an den verschachtelten foreach().

    Kommentar


    • #3
      Das dachte ich mir auch schon... weißt du ich das am besten lösen könnte?
      Stehe (sitze, besser gesagt) auf dem Schlauch...

      Kommentar


      • #4
        das kommt darauf an, welche Daten sich wo im CSV wiederfinden sollen. (was aus dem Codeschnipsel aber nicht hervorgeht)

        Kommentar


        • #5
          Im CSV sollen die Keywords auf txtfile1 am Anfang stehen, daher auch Ausgabe $kw.

          Die Keywords aus txtfile2 sollen am Ende stehen, Ausgabe als $ct.


          Genügt das ?

          Kommentar


          • #6
            gibt es genau gleich viele $kw wie $ct?

            Kommentar


            • #7
              jep

              Kommentar


              • #8
                dann mach mit array_map() aus den zwei Arrays einen und mach das foreach() darüber.

                Kommentar


                • #9
                  ok danke, werd mich mal schlau machen. noch nie mit array_map gearbeitet

                  Kommentar


                  • #10
                    http://php.net/array-map

                    Kommentar

                    Lädt...
                    X