Gast: Array sortieren

Hallo,

wie sortiere ich dieses Array (var_dump)

array(3) {  
  [2]=>  
  string(1) "A"  
  [1]=>  
  string(1) "C"  
  [3]=>  
  string(1) "B"  
}

nach den Ordnungszahlen. Ich möchte die Reihenfolge C, A, B

Gruß, Gast

  1. Du solltest in erster Linie die RFTM-Funktion in deiner brain.exe ausführen: http://www.php.net/manual/de/ref.array.php

    1. Du solltest in erster Linie die RFTM-Funktion in deiner brain.exe ausführen: http://www.php.net/manual/de/ref.array.php

      Irgendwie hilft mir das nicht weiter.

      Ich müsste nach den Indexnummern sortieren, aber einen isort - analog zum ksort - gibt's nicht. Die Indexnummern sind ja keine "keys".

      Gut, muss ich wohl "von Hand" machen.

      Gast

      1. Hi!

        Die Indexnummern sind ja keine "keys".

        Doch. Das heißt, es gibt nur Keys, selbst wenn diese numerisch sind.

        Lo!

      2. Hi,

        Du solltest in erster Linie die RFTM-Funktion in deiner brain.exe ausführen: http://www.php.net/manual/de/ref.array.php

        Irgendwie hilft mir das nicht weiter.

        “Fatal error:  Class 'brain' not found in [...]”

        MfG ChrisB

        --
        RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
  2. Grüße,
    ehm.. die keys sind ja bereits die ursortierung aller sortierungen - wo liegt genau das problem?
    als dreckslösung for/in und gut ist?
    MFG
    bleicher

    --
    __________________________-

    FirefoxMyth
    1. Hello,

      ehm.. die keys sind ja bereits die ursortierung aller sortierungen - wo liegt genau das problem?

      Nein, das ist bei PHP-Arrays nicht der Fall.

      Die Elemente liegen "lose" im Speicher. Wie PHP das organisiert, geht uns nix an.
      PHP stellt uns nun den Zugriff zur Verfügung

      • über das Element innerhalb der Kette der Elemente einer "Dimension"
      • über den Schlüsselwert
      • über die Werte

      Die Schlüssel müssen also keinesfalls in einer ordinalen Reihenfolge vorliegen und müssen auch keine geschlossene Schlüsselreihe bilden. Einzige Bedingung für Schlüssel ist, dass sie innerhalb einer Kette (einer Dimension) nicht doppelt auftreten dürfen.

      Die native Art, Arrayelemente "abzulaufen", wäre die Abarbeitung der Elementekette (auch als Liste bezeichnet). Hierfür ist dann foreach() das geeignete Konstrukt.

      Liebe Grüße aus dem schönen Oberharz

      Tom vom Berg

      --
       ☻_
      /▌
      / \ Nur selber lernen macht schlau
      http://bergpost.annerschbarrich.de
      1. Grüße,

        Die native Art, Arrayelemente "abzulaufen", wäre die Abarbeitung der Elementekette (auch als Liste bezeichnet). Hierfür ist dann foreach() das geeignete Konstrukt.

        meinte ich auch mit for/in - aber wenn die keys sowieso zahlenwerte sind und wenn es gut geht ohne unterbrechungnen - was spricht gegen a[i]? warum sollte man das noch sortieren?
        MFG
        bleicher

        --
        __________________________-

        FirefoxMyth
        1. Hello,

          Die native Art, Arrayelemente "abzulaufen", wäre die Abarbeitung der Elementekette (auch als Liste bezeichnet). Hierfür ist dann foreach() das geeignete Konstrukt.

          meinte ich auch mit for/in - aber wenn die keys sowieso zahlenwerte sind und wenn es gut geht ohne unterbrechungnen - was spricht gegen a[i]? warum sollte man das noch sortieren?

          Ok, wenn man sich der Konsistenz und Integrität seiner Daten sicher sein kann...
          Sonst müsste man für einen Iterator über die Keys bei jedem Schritt erst noch "if (isset($key))" bemühen und müsste dann selbstverständlich auch wissen, welches der kleinste und welches der größte Key ist und dass sie ordinal sind.

          Liebe Grüße aus dem schönen Oberharz

          Tom vom Berg

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