Array sortieren
Gast
- php
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
Du solltest in erster Linie die RFTM-Funktion in deiner brain.exe ausführen: http://www.php.net/manual/de/ref.array.php
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
Hi!
Die Indexnummern sind ja keine "keys".
Doch. Das heißt, es gibt nur Keys, selbst wenn diese numerisch sind.
Lo!
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
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
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
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
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
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