Sortieren von 2 array anhand des ersten.

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

  • Sortieren von 2 array anhand des ersten.

    Hallo!
    Ich möchte mehrere arrays nach der sortierreihenfolge eines anderen arrays (Bsp.: $dat[0][0] und $dat[0][2] nach $dat[0][1]) sortieren. Im Moment ist mein Code:

    PHP-Code:
    $dat[0][0]=array("egal","beliebig","irgendwas");
    $dat[0][1]=array("a","b","a");
    $dat[0][2]=array("d","egal","c");

    $m=1;

    $mem[2]=count($dat[0][0]);
    for (
    $v=0;$v<count($dat[0]);$v++) { if ($v!=$m AND count($dat[0][$v])==$mem[2]) {
    $mem[1]=array_merge(array(),$dat[0][$m]);
    array_multisort($mem[1],$dat[0][$v]); 
    }
    sort($dat[0][$m]); 
    rauskommen soll:
    $dat[0][0]=array("egal","irgendwas","beliebig");
    $dat[0][1]=array("a","a","b");
    $dat[0][2]=array("d","c","egal");

    es kommt aber:
    $dat[0][0]=array("egal","irgendwas","beliebig");
    $dat[0][1]=array("a","a","b");
    $dat[0][2]=array("c","d","egal"); //(also c und d in anderer reihenfolge)

    Das kommt daher, daß bei gleichen werten (a und a) die anderen arrays nicht nach ursprünglicher reihenfolge, sondern im vergleich untereinander sortiert werden.

    Da ich aber die werte immer im zusammenhang ausgeben will, also:
    PHP-Code:
    echo 
    $dat[0][0][0].$dat[0][1][0].$dat[0][2][0]."<hr>".
    $dat[0][0][1].$dat[0][1][1].$dat[0][2][1]."<hr>".
    $dat[0][0][2].$dat[0][1][2].$dat[0][2][2]."<hr>"

    ..muss d zu egal und a gehören, und c zu irgendwas und a.
    Wie kann ich das ändern, damit die ursprüngliche reihenfolge beibehalten wird?
    Zuletzt geändert von VEKPOS; 16.01.2005, 14:46.

  • #2
    ähm, guck mal erste und letzte zeile an:

    PHP-Code:
    $dat[0][0]=array("egal","beliebig","irgendwas");
    $dat[0][1]=array("a","b","a");
    $dat[0][0]=array("d","egal","c"); 

    Kommentar


    • #3
      ...vertippt, sry. sind 3 verschiedene arrays.

      Kommentar

      Lädt...
      X