Array bearbeiten

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

  • Array bearbeiten

    Ich habe ein kleines Problem mit folgendem Programmabschnitt:

    reset ($resave_data);
    while (list($key, $value) = each ($resave_data)) {
    echo "Key: $key; Value:$value\n";
    list ($datum, $zufall, $titel) = explode ("|",$value);
    echo "Datum: ".$datum;
    }

    Er liest aus $resave_data den Wert aus und übergibt diesen an $value. $value enthält dann z.B. diesen Ausdruck: |10.10.2001|12455|Blaa Blaa
    $value soll jetzt mit "explode" in die einzelnen Teilwerte, getrennt durch "|", aufgeteilt werden. In diesem Fall $datum , $zufall, $titel. Jetzt möchte ich mit diesen Teilwerten weiterarbeiten (z.B. echo $datum). Leider sind die Variablen leer. Was mache ich falsch?

    Danke.

  • #2
    Wie sieht denn der Output aus?

    CAT Music Files

    Kommentar


    • #3
      Bezogen jetzt auf diesen Quellcode ist die Ausgabe:

      Datum:


      Aus irgendeinem Grund kann explode wohl den wert in $value nicht bearbeiten. In der echo-zeile (key: .. value:..) wird $value aber noch richtig ausgegeben.

      Kommentar


      • #4
        Und das ist genau das, was ich meinte: Welchen Inhalt hat $value?

        EDIT: Ah, da oben steht's ja schon, sorry. Dann probier mal:
        PHP-Code:
        reset ($resave_data);
        while (list(
        $key$value) = each ($resave_data)) {
        echo 
        "Key: $key; Value:$value\n";
        $value substr($value,1,strlen($value)-1);
        list (
        $datum$zufall$titel) =  explode ("|",$value);
        echo 
        "Datum: ".$datum;

        [Editiert von Sky am 10-12-2001 um 19:40]

        CAT Music Files

        Kommentar


        • #5

          Wert von $value ist z.B.:

          |10.10.2001|12345|Blaa Blaa

          Dies wird auch ohnen Probleme mit "echo" angezeigt.

          Kommentar


          • #6
            Super !!!!!!!!

            Sehe ich das richtig, daß $value vor deinem Kunstgriff kein "echter" String war und darum "explode" Probleme gemacht hat ?
            Habe das Ganze im Übrigen auch mit "foreach" probiert, da war es das gleiche Problem.

            Nochmal vielen Dank!!

            Kommentar


            • #7
              Es liegt an dem Trennzeichen | ganz am Anfang. explode() muss dabei annehmen, dass auch vor diesem ersten | ein Wert steht (auch wenn es eine leere Zeichenkette ist). Meine Zeile nimmt dieses Zeichen weg.

              CAT Music Files

              Kommentar


              • #8
                kleine Anmerkung

                wenn du zum Zusammenführen die Funktion implode("|",$data); benutzt, kommt auch automatisch "10.10.2001|12345|Blaa Blaa" raus

                Kommentar

                Lädt...
                X