Stahl Florian: Daten sortieren

Hallo an alle,

Ich brauche mal kurz eure hilfe:

Ich habe Daten in eine .txt Datei geschrieben. Vorname1, Nachname1 und Vorname2 und Nachname2.

Nun möchte ich sie sortiert ausgeben. Also Nach Alphabet sortiert die Vornamen.

Habe schon einige Versuchge gestartet aber es will nicht klappen.

So werden die Daten ausgelesen:

$eintrag=file('daten/mitglieder.txt');
$ausgabe="<br>";
$temp=count($eintrag)-1;
for($i=$temp;$i>=0;$i--)
{
$element=explode('~',$eintrag[$i]);

$ausgabe.="<tr class="daten">";
$ausgabe.="<td class="name">".$element[0]."</td>";
$ausgabe.="<td class="name">".$element[1]."</td>";
$ausgabe.="<td class="name">".$element[2]."</td>";
$ausgabe.="<td class="name">".$element[3]."</td>";
$ausgabe.="<td class="name">".$element[4]."</td>";
$ausgabe.="<td class="name">".$element[5]."</td>";
$ausgabe.="<td class="name">".$element[6]."</td>";
$ausgabe.="<td class="name">".$element[7]."</td>";
$ausgabe.="<td class="name">".$element[8]."</td>";
$ausgabe.="<td class="name">".$element[9]."</td>";
$ausgabe.="<td class="name">".$element[10]."</td>";
$ausgabe.="</tr>";}

Nun möchte ich Sie aber nach dem Vornamen sortieren. Der Rest von $element sind andere Daten wie Alter und so.

Habe mir gedacht: sort($element[0]) und dann mit foreach ausgeben, funktioniert aber nicht.

Wie komme ich da weiter? Probiere schon den ganzen Tag daran rum. Bitte helft mir dabei.

Mit freundlichen Grüssen
------------------------
Stahl Florian
------------------------

--
Das Leben ist hart, aber wir sind härter
  1. Hallo,

    Habe mir gedacht: sort($element[0]) und dann mit foreach ausgeben, funktioniert aber nicht.

    Kann auch nicht, weil in $element[0] immer jeweils nur 1 einziger Vorname drinsteht.

    Vorschlag: Packe alle Deine $element's in ein Array:

    $a = array();
    for ($i=$temp;$i>=0;$i--) {
       $element=explode('~',$eintrag[$i]);
       array_push($a, $element);
    }

    Sodann sortierst Du den ganzen Kram. Da aber das normale "sort" nicht weiß, wo es im $array a nun die zu sorrtierenden Keys (die Vornamen) findet, brauchst Du usort, dem du mit einer Sortier-Callback-Funktion (hier vornamen_sort) etwas unter die Arme greifst:

    function vornamen_sort ($x, $y) {
        //$x und $y sind jeweils Arrays. Sortierkriterium ist der Vorname
        //wir brauchen also das jeweils nullte Element

    return($a[0] - $b[0]);
    }

    usort ($a, vornamen_sort);

    (alles ohne Gewähr und ungetestet :) )
    Jörg

    1. Hallo an alle,

      Danke aber es geht nicht wirklich. So sieht es jetzt aus:

      <?php

      $eintrag=file('daten/mitglieder.txt');
      $ausgabe="<br>";
      $temp=count($eintrag)-1;
      $a = array();

      for ($i=$temp;$i>=0;$i--) {
         $element=explode('~',$eintrag[$i]);
         array_push($a, $element);
      }
      function vornamen_sort ($x, $y) {

      return($a[0] - $b[0]);
      }

      $ausgabe.="<tr class="daten">";
      $ausgabe.="<td class="name">".$element[0]."</td>";
      $ausgabe.="<td class="name">".$element[1]."</td>";
      $ausgabe.="<td class="name">".$element[2]."</td>";
      $ausgabe.="<td class="name">".$element[3]."</td>";
      $ausgabe.="<td class="name">".$element[4]."</td>";
      $ausgabe.="<td class="name">".$element[5]."</td>";
      $ausgabe.="<td class="name">".$element[6]."</td>";
      $ausgabe.="<td class="name">".$element[7]."</td>";
      $ausgabe.="<td class="name">".$element[8]."</td>";
      $ausgabe.="<td class="name">".$element[9]."</td>";
      $ausgabe.="<td class="name">".$element[10]."</td>";
      $ausgabe.="</tr>";

      usort ($a, vornamen_sort);
      ?>

      zur Ausgabe wird es noch mit foreach durchlaufen

      Das Ergebniss sind nur ArrayArray
      Mit freundlichen Grüssen
      ------------------------
      Stahl Florian
      ------------------------

      --
      Das Leben ist hart, aber wir sind härter
  2. Hallo Florian,

    Ich glaube, dass Dir die Funktion array_multisort() helfen könnte.

    Viele Grüße,

    Stefan

  3. Hallo,

    Ich habe Daten in eine .txt Datei geschrieben. Vorname1, Nachname1 und Vorname2 und Nachname2.

    Sind die Werte durch ein einheitliches Zeichen getrennt (Stichtwort CSV - Comma Separated Values), dann verwende doch einfach fgetcsv.

    Nun möchte ich sie sortiert ausgeben. Also Nach Alphabet sortiert die Vornamen.

    Am besten verwendest du ein assoziatives Array mit dem Vornamen als Schlüssel:

      
    $arr = Array();  
    $handle = fopen("test.csv", "r");  
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {  
       //Wenn der Vorname das erste Feld ist  
       $arr[$data[0]] = Array($data[1],$data[2]/*usw*/);  
    }  
    fclose($handle);  
    sort ($arr);  
    //usw.  
    
    

    Gruß,
    Severin

    --
    They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.
    -- Benjamin Franklin
  4. Hi,

    zwar keine Antwort auf Deine Frage (die sähe in etwa so aus wie die von Severin Kacianka), aber ein Tip: Du solltest Dich wirklich zunächst mal mit den elementaren Dingen in PHP vertraut machen:

    $temp=count($eintrag)-1;
    for($i=$temp;$i>=0;$i--)

    das ist umständlich. Einfach for($i=0; $i<count($eintrag); $i++)

    $ausgabe.="<tr class="daten">";

    das ebenfalls. Einfacher und schneller $ausgabe.='<tr class="daten">';

    $ausgabe.="<td class="name">".$element[0]."</td>";
    $ausgabe.="<td class="name">".$element[1]."</td>";
    $ausgabe.="<td class="name">".$element[2]."</td>";
    $ausgabe.="<td class="name">".$element[3]."</td>";
    $ausgabe.="<td class="name">".$element[4]."</td>";
    $ausgabe.="<td class="name">".$element[5]."</td>";
    $ausgabe.="<td class="name">".$element[6]."</td>";
    $ausgabe.="<td class="name">".$element[7]."</td>";
    $ausgabe.="<td class="name">".$element[8]."</td>";
    $ausgabe.="<td class="name">".$element[9]."</td>";
    $ausgabe.="<td class="name">".$element[10]."</td>";

    und das schreit geradezu nach einer Schleife.

    freundliche Grüße
    Ingo

    1. Hallo an alle, »» Hi,

      zwar keine Antwort auf Deine Frage (die sähe in etwa so aus wie die von Severin Kacianka), aber ein Tip: Du solltest Dich wirklich zunächst mal mit den elementaren Dingen in PHP vertraut machen:

      $temp=count($eintrag)-1;
      for($i=$temp;$i>=0;$i--)
      das ist umständlich. Einfach for($i=0; $i<count($eintrag); $i++)

      $ausgabe.="<tr class="daten">";
      das ebenfalls. Einfacher und schneller $ausgabe.='<tr class="daten">';

      $ausgabe.="<td class="name">".$element[0]."</td>";
      $ausgabe.="<td class="name">".$element[1]."</td>";
      $ausgabe.="<td class="name">".$element[2]."</td>";
      $ausgabe.="<td class="name">".$element[3]."</td>";
      $ausgabe.="<td class="name">".$element[4]."</td>";
      $ausgabe.="<td class="name">".$element[5]."</td>";
      $ausgabe.="<td class="name">".$element[6]."</td>";
      $ausgabe.="<td class="name">".$element[7]."</td>";
      $ausgabe.="<td class="name">".$element[8]."</td>";
      $ausgabe.="<td class="name">".$element[9]."</td>";
      $ausgabe.="<td class="name">".$element[10]."</td>";
      und das schreit geradezu nach einer Schleife.

      Danke für die Tips werde ich mir merken. Aber mein problem besteht weiterhin dass nur ArrayArrayArray herauskommt.

      Mit freundlichen Grüssen
      ------------------------
      Stahl Florian
      ------------------------

      --
      Das Leben ist hart, aber wir sind härter
      1. Hallo,

        Danke für die Tips werde ich mir merken. Aber mein problem besteht weiterhin dass nur ArrayArrayArray herauskommt.

        Wie sieht dein Code denn jetzt aus?
        Dass du Arrays zurückbekommst ist ja nicht schlecht. Schau doch einmal, was in ihnen drinnen steht: print_r($var_die_nur_arrayarrayarray_ausgibt);

        Gruß,
        Severin

        --
        They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.
        -- Benjamin Franklin
        1. Hallo an alle, »» Hallo,

          Danke für die Tips werde ich mir merken. Aber mein problem besteht weiterhin dass nur ArrayArrayArray herauskommt.

          Wie sieht dein Code denn jetzt aus?
          Dass du Arrays zurückbekommst ist ja nicht schlecht. Schau doch einmal, was in ihnen drinnen steht: print_r($var_die_nur_arrayarrayarray_ausgibt);

          Das ist das Ergebniss:

          Array ( [0] => Array ( [0] => [1] => [2] => [3] => [4] => [5] => [6] => [7] => [8] => [9] => ) [1] => Array ( [0] => [1] => [2] => [3] => [4] => [5] => [6] => [7] => [8] => [9] => ) [2] => Array ( [0] => [1] => [2] => [3] => [4] => [5] => [6] => [7] => [8] => [9] => ) [3] => Array ( [0] => [1] => [2] => [3] => [4] => [5] => [6] => [7] => [8] => [9] => ) )

          Mit freundlichen Grüssen
          ------------------------
          Stahl Florian
          ------------------------

          --
          Das Leben ist hart, aber wir sind härter
          1. Hallo,

            Das ist das Ergebniss:

            Was steht genau in der Textdatei drinnen? Sind die Werte durch Beistrich getrennt ( fgetcsv($handle, 1000, ","), der letzte Parameter sagt, dass die Datensätze durch Beistrich getrennt werden). Deine Textdatei sollte in etwa so aussehen:
            Hugo,'Irgendwo 12', 0000, Stadt,Sonstwas
            Irmi,'Irgendwo 13', 0000, Stadt,Sonstwasanderes

            Die Ausgabe machst du am besten (wie Ingo schon gesagt hat) mit einer Schleife:

              
            foreach($arr as $vorname => $werte){  
                echo $vorname.' '.$werte[0].' '.$werte[1]; //usw  
            }  
            
            

            Gruß,
            Severin

            --
            They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.
            -- Benjamin Franklin
            1. Hallo an alle, »» Hallo,

              Das ist das Ergebniss:

              Was steht genau in der Textdatei drinnen? Sind die Werte durch Beistrich getrennt ( fgetcsv($handle, 1000, ","), der letzte Parameter sagt, dass die Datensätze durch Beistrich getrennt werden). Deine Textdatei sollte in etwa so aussehen:
              Hugo,'Irgendwo 12', 0000, Stadt,Sonstwas
              Irmi,'Irgendwo 13', 0000, Stadt,Sonstwasanderes

              Tut Sie, nur hab ich als Trennung ~ genommen.

              Mit freundlichen Grüssen
              ------------------------
              Stahl Florian
              ------------------------

              --
              Das Leben ist hart, aber wir sind härter
              1. Hallo,

                Tut Sie, nur hab ich als Trennung ~ genommen.

                Und das bei fgetcsv auch als dritten Parameter angegeben?
                fgetcsv($handle, 1000, "~")

                Gruß,
                Severin

                --
                They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.
                -- Benjamin Franklin
                1. Hallo an alle, »» Hallo,

                  Tut Sie, nur hab ich als Trennung ~ genommen.

                  Und das bei fgetcsv auch als dritten Parameter angegeben?
                  fgetcsv($handle, 1000, "~")

                  jo, hab ich gemacht. Zu dem Block: Wie soll ich es dann in Form einer Tabelle ausgeben? Die Bezeicznung ist falsch, ich weis, aber es soll ja erst mal die Ausgabe funktionieren.

                  Mit freundlichen Grüssen
                  ------------------------
                  Stahl Florian
                  ------------------------

                  --
                  Das Leben ist hart, aber wir sind härter
                  1. Hallo,

                    jo, hab ich gemacht. Zu dem Block: Wie soll ich es dann in Form einer Tabelle ausgeben? Die Bezeicznung ist falsch, ich weis, aber es soll ja erst mal die Ausgabe funktionieren.

                    https://forum.selfhtml.org/?t=134692&m=874822
                    Sieht print_r($arr), immer noch "komisch" (nur mit Zahlen, ohne "echte" Werte) aus?

                    Gruß,
                    Severin

                    --
                    They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.
                    -- Benjamin Franklin
                    1. Hallo an alle, »» Hallo,

                      jo, hab ich gemacht. Zu dem Block: Wie soll ich es dann in Form einer Tabelle ausgeben? Die Bezeicznung ist falsch, ich weis, aber es soll ja erst mal die Ausgabe funktionieren.

                      https://forum.selfhtml.org/?t=134692&m=874822
                      Sieht print_r($arr), immer noch "komisch" (nur mit Zahlen, ohne "echte" Werte) aus?

                      Ja

                      Mit freundlichen Grüssen
                      ------------------------
                      Stahl Florian
                      ------------------------

                      --
                      Das Leben ist hart, aber wir sind härter
                      1. Hallo,

                        Ja

                        mmmh langsam gehen mir die Ideen aus.
                        Wenn die Datei so aussieht:
                        Hugo~Nachname~sonstwas

                        müsste es problemlos gehen. Ich verstehe auch nicht woher die Zahlen kommen sollen, wenn du in deiner Datei keine Zahlen hast.
                        Kannst du vielleicht einmal ein paar Zeilen deiner Datendatei und (nochmals) den gerade aktuellen Quellcode posten. Dann schau ich mir das ganze einmal auf meinem Testsystem an.

                        Gruß,
                        Severin

                        --
                        They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.
                        -- Benjamin Franklin
        2. Hallo an alle,
          DAs ist der aktuelle Code
          <?php
          $arr = Array();
          $handle = fopen("daten/mitglieder.txt", "r");
          while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {

          $arr[$data[0]] = Array($data[1],$data[2],$data[3],$data[4],$data[5],$data[6],$data[7],$data[8],$data[9],$data[10]);
          }
          fclose($handle);
          sort ($arr);

          $ausgabe.="<tr class="daten">";
          $ausgabe.="<td class="name">".$element[0]."</td>";
          $ausgabe.="<td class="name">".$element[1]."</td>";
          $ausgabe.="<td class="name">".$element[2]."</td>";
          $ausgabe.="<td class="name">".$element[3]."</td>";
          $ausgabe.="<td class="name">".$element[4]."</td>";
          $ausgabe.="<td class="name">".$element[5]."</td>";
          $ausgabe.="<td class="name">".$element[6]."</td>";
          $ausgabe.="<td class="name">".$element[7]."</td>";
          $ausgabe.="<td class="name">".$element[8]."</td>";
          $ausgabe.="<td class="name">".$element[9]."</td>";
          $ausgabe.="<td class="name">".$element[10]."</td>";
          $ausgabe.="</tr>";

          print_r($arr);

          ?>
          Mit freundlichen Grüssen
          ------------------------
          Stahl Florian
          ------------------------

          --
          Das Leben ist hart, aber wir sind härter
          1. Hallo

            DAs ist der aktuelle Code

            Schön für dich. Warum tischst du uns den immer wieder auf, wo sich doch nur Marginalien geändert haben?

            Tschö, Auge

            --
            Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
            (Victor Hugo)
            Veranstaltungsdatenbank Vdb 0.1
            1. Hallo an alle, »» Hallo

              DAs ist der aktuelle Code

              Schön für dich. Warum tischst du uns den immer wieder auf, wo sich doch nur Marginalien geändert haben?

              https://forum.selfhtml.org/?t=134692&m=874466 Weil danach gefragt wurde.

              Mit freundlichen Grüssen
              ------------------------
              Stahl Florian
              ------------------------

              --
              Das Leben ist hart, aber wir sind härter
            2. Hallo,

              Schön für dich. Warum tischst du uns den immer wieder auf, wo sich doch nur Marginalien geändert haben?

              Ich habe ihn dannach gefragt. Und es hat sich sehr viel geändert: er versucht sich jetzt an fgetcsv(), das ist eine wichtige Änderung. Darum wollte ich auch seinen Code noch einmal sehen.

              Gruß,
              Severin

              --
              They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.
              -- Benjamin Franklin
              1. Hallo

                Warum tischst du uns den immer wieder auf, wo sich doch nur Marginalien geändert haben?

                Ich habe ihn dannach gefragt. Und es hat sich sehr viel geändert: er versucht sich jetzt an fgetcsv(), das ist eine wichtige Änderung. Darum wollte ich auch seinen Code noch einmal sehen.

                Gut, aber außer der Tatsache, dass er sich nun das folgende explode spart, weil das fgetcsv schon erledigt, hat sich eigentlich nur die Testausgabe per print_r "eingeschlichen".

                Sein ganzer Block:

                $ausgabe.="<tr class="daten">";
                $ausgabe.="<td class="name">".$element[0]."</td>";
                $ausgabe.="<td class="name">".$element[1]."</td>";
                $ausgabe.="<td class="name">".$element[2]."</td>";
                $ausgabe.="<td class="name">".$element[3]."</td>";
                $ausgabe.="<td class="name">".$element[4]."</td>";
                $ausgabe.="<td class="name">".$element[5]."</td>";
                $ausgabe.="<td class="name">".$element[6]."</td>";
                $ausgabe.="<td class="name">".$element[7]."</td>";
                $ausgabe.="<td class="name">".$element[8]."</td>";
                $ausgabe.="<td class="name">".$element[9]."</td>";
                $ausgabe.="<td class="name">".$element[10]."</td>";
                $ausgabe.="</tr>";

                , der nichts macht, ist immer noch drinnen. Der springt mir halt bei jedem Vorzeigen des Codes immer wieder in's Auge. ;-)

                Tschö, Auge

                --
                Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
                (Victor Hugo)
                Veranstaltungsdatenbank Vdb 0.1
                1. Hallo,

                  Sein ganzer Block:
                  [...]
                  , der nichts macht, ist immer noch drinnen. Der springt mir halt bei jedem Vorzeigen des Codes immer wieder in's Auge. ;-)

                  Den reden wir ihm auch noch aus :-)

                  Gruß,
                  Severin

                  --
                  They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.
                  -- Benjamin Franklin
          2. Hallo

            Zu meiner Frage, was das soll, habe ich Severin geantwortet.

            DAs ist der aktuelle Code
            <?php
            $arr = Array();
            $handle = fopen("daten/mitglieder.txt", "r");
            while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
               $arr[$data[0]] = Array($data[1],$data[2],$data[3],$data[4],$data[5],$data[6],$data[7],$data[8],$data[9],$data[10]);

            Warum "$arr[$data[0]]"? Damit überschreibst du jenes Element bei jedem Durchlauf der Schleife. Verwende "$arr[]", damit bei jedem Durchlauf von while, somit für jede Zeile der Datei, ein neues Element des Arrays angelegt wird.

            }
            fclose($handle);
            sort ($arr);

            Du weißt, dass $arr ein zweidimensionales Array ist (wie ich hier bereits schrieb)? Ein solches zeigt sich von sort() unbeeindruckt. Wie du, wenn du die von dir gepostete Ausgabe studierst sehen kannst, gibt es für jede Zeile ein Arrayelement, welches wiederum die auseinanderklabusterten, bei dir mit "~" getrennten, Bestandteile der Zeile als Array im Array enthält.

            Mal umformatiert:

            Array (  
            [0] => <-- Dateizeile 0  
               Array ( [0] => [1] => [2] => [3] => [4] => [5] => [6] => [7] => [8] => [9] => ) <-- Die Bestandteile der Zeile 0  
            [1] => <-- Dateizeile 1  
               Array ( [0] => [1] => [2] => [3] => [4] => [5] => [6] => [7] => [8] => [9] => ) <-- Die Bestandteile der Zeile 1  
            [2] => <-- Dateizeile 2  
               Array ( [0] => [1] => [2] => [3] => [4] => [5] => [6] => [7] => [8] => [9] => ) <-- Die Bestandteile der Zeile 2  
            [3] => <-- Dateizeile 3  
               Array ( [0] => [1] => [2] => [3] => [4] => [5] => [6] => [7] => [8] => [9] => ) <-- Die Bestandteile der Zeile 3  
            )
            

            Ob du die Elemente für das Forum geleert oder leer vorgesetzt bekommen hast, weiß ich allerdings nicht.

            $ausgabe.="<tr class="daten">";
            $ausgabe.="<td class="name">".$element[0]."</td>";
            ...
            $ausgabe.="<td class="name">".$element[10]."</td>";
            $ausgabe.="</tr>";

            Lass den "Blödsinn" (an dieser Stelle ist er es) weg. Zumal es kein Array namens $element gibt. Beschränke dich erstmal auf die folgende Testausgabe.

            print_r($arr);

            Tschö, Auge

            --
            Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
            (Victor Hugo)
            Veranstaltungsdatenbank Vdb 0.1
            1. Hallo,

              Du weißt, dass $arr ein zweidimensionales Array ist (wie ich hier bereits schrieb)? Ein solches zeigt sich von sort() unbeeindruckt. Wie du, wenn du die von dir gepostete Ausgabe studierst sehen kannst, gibt es für jede Zeile ein Arrayelement, welches wiederum die auseinanderklabusterten, bei dir mit "~" getrennten, Bestandteile der Zeile als Array im Array enthält.

              Das wäre dann zu einem Teil meine Schuld. Ich habe mir irgendwie gedacht, dass PHPs sort() einfach die Schlüssel vergleicht. Florian, bitte nimm ksort.

              Gruß,
              Severin

              --
              They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.
              -- Benjamin Franklin
      2. Hallo

        $ausgabe.="<td class="name">".$element[0]."</td>";
        $ausgabe.="<td class="name">".$element[1]."</td>";
        $ausgabe.="<td class="name">".$element[2]."</td>";
        $ausgabe.="<td class="name">".$element[3]."</td>";
        $ausgabe.="<td class="name">".$element[4]."</td>";
        $ausgabe.="<td class="name">".$element[5]."</td>";
        $ausgabe.="<td class="name">".$element[6]."</td>";
        $ausgabe.="<td class="name">".$element[7]."</td>";
        $ausgabe.="<td class="name">".$element[8]."</td>";
        $ausgabe.="<td class="name">".$element[9]."</td>";
        $ausgabe.="<td class="name">".$element[10]."</td>";
        und das schreit geradezu nach einer Schleife.

        Danke für die Tips werde ich mir merken. Aber mein problem besteht weiterhin dass nur ArrayArrayArray herauskommt.

        Das ist ja auch kein Wunder. Jede zeile der Textdatei ist je bereits ein Arrayelement. Dieses wird mit explode("~",element[0]); wiederum in ein Array zerlegt. Du hast somit ein mehr- (genauer gesagt ein zwei)dimensionales Array.

        Lass dir mal $element[0][0] ausgeben. Du wirst das erste Element der ersten Zeile vorfinden.

        $element ist das Array ansich, der erste "Zähler" bezeichnet die Zeile, der zweite "Zähler" die einzelnen Bestandteile der jeweiligen Zeile, so wie sie von explode() zurückgegeben werden.

        Tschö, Auge

        --
        Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
        (Victor Hugo)
        Veranstaltungsdatenbank Vdb 0.1
    2. Hi,

      $temp=count($eintrag)-1;
      for($i=$temp;$i>=0;$i--)

      das ist umständlich. Einfach for($i=0; $i<count($eintrag); $i++)

      Das macht aber was vollkommen anderes - Deine Schleife läuft von 0  bis count-1, die originale von count-1 bis 0.
      Deine ist - falls sich die Anzahl der Einträge in $eintrag während der Schleife nicht ändert, ineffizient, da count() für jeden Schleifendurchlauf aufgerufen wird.

      für Rückwärtsdurchlauf:
      for ($i=count($eintrag) -1; $i >= 0; $i--)

      für Vorwärtsdurchlauf mit nur einmaliger Auswertung von count:
      for ($i = 0, $imax = count($eintrag); $i < $imax; $i++)

      cu,
      Andreas

      --
      Warum nennt sich Andreas hier MudGuard?
      Schreinerei Waechter
      O o ostern ...
      Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.