Franky

  • Hallo zusammen,

    ich habe mehrere Arrays, die mit Daten gefüllt sind. Die Daten in den Arrays gehören quasi zusammen. Also array[0] gehört zu array1[0] und array2[0]; array[1] gehört zu array1[1] und array2[1] usw.

    Die Arrays werden nach und nach mit Daten gefüllt und später ausgegeben.


    Das füllen der arrays und die Ausgabe der Daten sind kein Problem. Ich würde nun aber gerne die daten teilweise sortiert ausgeben.

    z.B.
    array( "Kurt", "Jens", "Anton", ......
    array1("12.12.1982", "23.04.1977"......
    array2(.....

    Nun würde ich gerne die Daten z.B. nach Namen sortiert ausgeben. Nun könnte ich das Array mit den Namen sortieren und ausgeben. Das Problem ist, dass ich ja noch weitere Arrays habe und die Daten zusammen gehören. Wenn ich nun das Array mit den Namen sortiere und die Arrays ausgebe, stimmen die Daten nicht mehr, somit würden den namen z.B. die falschen Daten zugeordnet.
    Ich hoffe, dass das irgendwie verständlich ist.

    Ich habe keine Idee, wie man das Problem lösen könnte, damit die Daten bei Sortierung eines Arrays immer noch richtig zugeordnet sind.


    Grüße Franky

  • Ich hasse es auch immer wenn man ein Problem hat und dann wird einem eine komplett andere Herangehensweise ans Herz gelegt.

    Aber hier glaube ich wär es vllt nicht falsch das ganze in einer Datenbank zu speichern. Was allerdings davon abhängt was genau du da machen willst.

    EDIT:Den Namen des Threads sollte man vllt nach dessen Inhalt und nicht nach dessen Urheber benennen. :P

  • ich habe ja die ganzen daten schon in der, lese die daten selektiert aus verarbeite die weiter und speichere die daten dann in den arrays. aber vielleicht müsste ich dann doch weiter vorne anfangen und die daten schon sortiert aus der datenbank auslesen, dann weiterverarbeiten, speichern und ausgeben.

    vielen dank für den denkanstoß.

  • Zitat von Franky_

    aber vielleicht müsste ich dann doch weiter vorne anfangen und die daten schon sortiert aus der datenbank auslesen, dann weiterverarbeiten, speichern und ausgeben.

    Genau das! :)

  • oder du machst einen assiotativen array (oder wie man das schreibt) also so:
    array("kurt"=>array("12.12.1989") ,"jens"=>array(... )
    und dann sortierst halt einfach den nach den keys

    Orthografie und Grammatik in diesem Beitrag sind frei erfunden und eine eventuell gefundene Übereinstimmung mit einer lebenden oder toten Sprache sollte von allen Beteiligten unverzüglich ignoriert werden.

    K-Progs (In bearbeitung)
    Der inoffizielle Forum-hilfe IRC-Channel
    (Server: irc.freenode.net ; Channel: #forum-hilfe) (Client für FF)
    Ich hab auch 'n Jabber-Account beim CCC ;)

  • ich habe nun ein assiotatives array erstellt. das funktioniert bis hierhin wunderbar. allerdings komme ich jetzt nicht mit der sortierung zurecht.

    ich habe nun ein array, was wie folgt aussieht:

    Code
    $data[$i] = array('login'    => $login[$i],
                              'first'     => $first[$i],
                              'last'      => $latest[$i],
                              'anzahl'  => $anzahl[$i],
                              'prozent' => $prozent[$i]);

    wie kann ich nun das array data z.b. nach 'login' sortieren, aufwärts wie abwärts?

  • hallo,

    dabeei habe ich dann das problem, dass immer nur nach 'login' sortiert wird. das funktioniert mit ksort und krsort schon einmal, aber ich raff einfach nicht, wie man auch nach 'last', 'anzahl' oder 'prozent' sortieren kann.

  • hallo,

    ich habe es nun folgendermaßen gelöst:

    Code
    foreach($data as $v) 
                $s[] = $v[$order];    // [1] = Dimension zur Sortierung 
    array_multisort($s, SORT_ASC, $data); // ASC = auf-, DESC = absteigend

    in $order steht der entsprechende key nachdem sortiert werden soll.