Sven: mehrfach-array sortieren

Hallo Leute,

ich habe diverse Person_ids. Zu jeder ID gibt es drei Zahlenwerte
Beispiel:
Person_1,12,5,9
Person_2,15,12,18
Person_3,5,1,5
Person_4,17,12,12

Jetzt würde ich gerne die Daten nach dem 2.Zahlenwert sortieren.
Es soll entsprechend des Beispiels also folgendes heraus kommen:
Person_4,17,12,12
Person_2,15,12,18
Person_1,12,5,9
Person_3,5,1,5

Wie kann ich das am schlausten anstellen?

thx
Sven

  1. Hi Sven!

    Wie kann ich das am schlausten anstellen?

    Mit usort().

    Z. B. so:

    // $personen liegt als Array vor  
    usort($personen, create_function('$a,$b', 'return $a[1]-$b[1];'));
    

    MfG H☼psel

    --
    "It's amazing I won. I was running against peace, prosperity, and incumbency."
    George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
    Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
  2. Hello,

    ich habe diverse Person_ids. Zu jeder ID gibt es drei Zahlenwerte
    Beispiel:
    Person_1,12,5,9
    Person_2,15,12,18
    Person_3,5,1,5
    Person_4,17,12,12

    Jetzt würde ich gerne die Daten nach dem 2.Zahlenwert sortieren.
    Es soll entsprechend des Beispiels also folgendes heraus kommen:
    Person_4,17,12,12
    Person_2,15,12,18
    Person_1,12,5,9
    Person_3,5,1,5

    Wie kann ich das am schlausten anstellen?

    Indem man das Array gleich sortierfähig aufbaut?

    siehe:
    http://forum.de.selfhtml.org/archiv/2010/4/t196849/#m1319340
    http://forum.de.selfhtml.org/archiv/2009/5/t187244/#m1244374
    http://forum.de.selfhtml.org/archiv/2009/9/t191001/#m1274145

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
     ☻_
    /▌
    / \ Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
  3. Hallo Sven,

    vielleicht hilft Dir array_multisort weiter.

    Gruß, Dennis

    1. Hi!

      vielleicht hilft Dir array_multisort weiter.

      Das verhilft in den meisten Fällen zu mehr Kopfschmerzen, weil es nicht besonders intuitiv anzuwenden ist.

      Lo!

      1. Das verhilft in den meisten Fällen zu mehr Kopfschmerzen, weil es nicht besonders intuitiv anzuwenden ist.

        Davon kann ich ein Liedchen singen... Allerdings stellt PHP diese Funktion nunmal zur Verfügung.

        Gruß, Dennis

        1. Hi!

          Das verhilft in den meisten Fällen zu mehr Kopfschmerzen, weil es nicht besonders intuitiv anzuwenden ist.
          Davon kann ich ein Liedchen singen... Allerdings stellt PHP diese Funktion nunmal zur Verfügung.

          PHP stellt auch noch andere nicht empfehlenswerte Dinge zur Verfügung. Wenn man sich der Konsequenzen bewusst ist, was man damit falsch machen kann, so kann man das ruhig verwenden. array_multisort() würde ich aufgrund seiner umständlichen Handhabung jedenfalls nicht kommentarlos empfehlen.

          Lo!

          1. PHP stellt auch noch andere nicht empfehlenswerte Dinge zur Verfügung.

            Damit kann ich Dir nur Recht geben

            ... jedenfalls nicht kommentarlos empfehlen.

            und daran sollte ich das nächste Mal tatsächlich denken.

            Gruß, Dennis