Änderung des Index nach Sortierung assoziativer Arrays

  • Guten Tag allerseits,


    als erstes grüße ich dieses Forum und alle Benutzer.


    Meine Frage bezieht sich auf die Sortierung assoziativer Arrays. Wenn ich nämlich ein solches assoz. Array mit sort/rsort sortiere und danach den Index ausgebe, wird der Index immer als Nummer ausgegeben. Wenn ich allerdings ksort/krsort verwende, bleibt der Index als string erhalten.


    Wird mit den erst genannten Sortierfunktionen der Index zu int konvertiert?
    Und wie kann man nach den Sortierungen dennoch den string Index erhalten und nicht den int?


    Folgend mein Beispiel um meine Frage deutlich zu machen.


    Ich würde einfach gerne wissen, wie man sort/rsort anwenden kann und dennoch auf den Index als String (in seiner ursprünglichen Form) zugreifen kann.
    Im gezeigten Beispiel wird lediglich das array3 wie gewünscht angezeigt.

  • Danke schon mal für die Antwort. Dass dies mit asort bzw. arsort funktioniert, war mir bereits klar. Das hätte ich präziser erklären müssen, mein Fehler.


    Mir geht es um die Aufgabenstellung im Kapitel Arrays (Sortierung von Arrays) des Tutorials von A. Pratzner:

    Zitat

    Aufgabe:
    Lassen Sie die Autokennzeichenkürzel und die Städte für

    • B - Berlin
    • S - Stuttgart
    • TÜ - Tübingen
    • M - München
    • MZ - Mainz

    über ein assoziatives Array in folgenden Sortierungen ausgeben:

    • sort
    • rsort
    • ksort



    Hier wird ja explizit verlangt die Sortierung mit sort, rsort vorzunehmen und dabei die Kennzeichen in Bezug auf die Städte anzuzeigen. Aber jetzt, während ich diese Antwort schreibe, gewinne ich den Eindruck, dass sich in der Aufgabenstellung eine kleine Falle verbirgt. Weil laut Definition sind asort/arsort und ksort/krsort zum Sortieren assoz. Arrays geeignet, im Gegensatz zu sort/rsort.


    Ich dachte irgendwie, so wie die Aufgabe gestellt ist, dass diese auch mit sort/rsort lösbar wäre.

  • Mir erscheint das mittlerweile auch sinnfrei, denn, wie du sagst, ist die Aufgabe mit den entsprechenden Funktionen einfach lösbar.


    Entweder ist die Aufgabe nicht präzise formuliert oder das ist reine Absicht um den Unterschied der Sortierfunktionen zu erkennen, sozusagen eine erzieherische Ungenauigkeit :)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!