Mehrdimensionales Array sortieren

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

  • Mehrdimensionales Array sortieren

    Hallo,

    mein Array schaut so aus:

    Array
    (
    [0] => stdClass Object
    (
    [username] => root
    [passwd] => xxxxxxxx
    [email] => abc@abc.de
    )

    [1] => stdClass Object
    (
    [username] => root2
    [passwd] => xxxxxxxx
    [email] => abcdef@abcdef.de
    )

    .... usw.
    )

    Ich versuche nun das array zu sortieren nach username:

    usort($obigesarray, "cmp");

    ....

    function cmp($a, $b) {
    return strcmp($a["username"], $b["username"]);
    }

    Ich bekomme den Fehler:

    Warning: usort() [function.usort]: Invalid comparison function

    Daraufhin versuchte ich:

    function cmp($a, $b) {
    return strcmp($a->username, $b->username);
    }

    Jedoch mit demselben Fehler. Meine PHP-Kenntnisse liegen etwas zurück. Kann mir bitte jemand sagen, wie es richtig sein müsste?

    Gruß
    Ulli

  • #2
    zweiteres müsste richtig sein.
    teste doch mal die richtigkeit von cmp() zuerst - übergib der funktion manuell zwei objekte, mal schauen, ob es funktioniert.

    Kommentar


    • #3
      das Problem war, dass ich in einer class bin, auch cmp...

      Ich habe nun diese compare function ausserhalb der class gelegt, da es mir nicht gelungen ist cmp zu referenzieren:

      usort($obigesarray, $this->cmp) läuft nicht, erst recht nicht
      usort($obigesarray, "$this->cmp")

      Geht das überhaupt irgendwie?

      Gruß
      Ulli

      Kommentar


      • #4
        Original geschrieben von ullibolle
        Geht das überhaupt irgendwie?
        http://forum.de.selfhtml.org/?t=141911&m=921895
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Hi,

          PHP-Code:
          usort($obigesarray,array($this,'cmp')); 
          greets
          (((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")

          Kommentar

          Lädt...
          X