Sortieren von 2 array anhand des ersten.

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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?
    Last edited by 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"); 

    Comment


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

      Comment

      Working...
      X