array_multisort
Rüdiger
- php
hallo zusammen
brauche mal wieder hilfe von euch wissenden
ich möchte ein mehrdimensionales Array sortieren, das sieht so aus:
Array
(
[12] => Array
(
[0] => 12
[1] => 1
[2] => 12
[3] => Aber ich nicht
[4] => 8
[5] => na sowas
)
[41] => Array
(
[0] => 41
[1] => 6
[2] => 12
[3] => Bleib bei mir
[4] => 8
[5] => Schöne Frau
)
[20] => Array
(
[0] => 20
[1] => 3
[2] => 21
[3] => Zeit ist Geld
[4] => 16
[5] => Wetter ist schön
)
[21] => Array
(
[0] => 21
[1] => 3
[2] => 21
[3] => Blaue Augen
[4] => 17
[5] => Keine Zeit
)
versuch das mit array_multisort, nämlich so:
foreach($array as $key => $wert){
$titel[$key] = $wert[3];
}
array_multisort($array, $titel, SORT_ASC);
wenn ich $titel[$key] und $wert[3] ausgebe bekomme ich folgende Ausgabe:
12 Aber so nicht
41 Bleib bei mir
20 Zeit ist Geld
21 Blaue Augen
so wie ich die funktion array_multisort verstanden habe (oder doch nicht) dachte ich das passt so :-(
was mache ich falsch?
oder geht das mit array_multisort gar nicht?
leider bekomme ich auch keine Fehlermeldung, anhand der ich was ändern könnte.
vielen Dank im voraus
Gruß Rüdiger
hi,
ich möchte ein mehrdimensionales Array sortieren
Und wonach?
oder geht das mit array_multisort gar nicht?
Nutze usort nebst selbstdefinierter Vergleichs-Funktion.
gruß,
wahsaga
hi,
Und wonach?
gruß,
wahsaga
hallo wahsaga
vielen dank für deine schnelle antwort
sorry hab ich nicht eindeutig beschrieben
[12] => Array
(
[0] => 12
[1] => 1
[2] => 12
[3] => Aber ich nicht
[4] => 8
[5] => na sowas
)
die Arrays sollen diesem wert sortiert werden "[3] => Aber ich nicht"
nach deiner antwort zu urteilen geht das mit array_multisort nicht.
richtig oder hab ich einen fehler im script?
vielen dank im voraus
Gruß Rüdiger
echo $begrüßung;
nach deiner antwort zu urteilen geht das mit array_multisort nicht.
array_multisort() sortiert Spaltenarray. Die typischerweise nach einer Datenbankabfrage angelegten Zeilenarrays müssten erst umsortiert werden. Ich finde da usort() & co. einfacher anzuwenden.
Zeilenarray: Jedes Element des äußeren Arrays enthält einen kompletten Datensatz.
Spaltenarray: Das äußere Array hat pro Datensatzspalte/Feld ein Array-Element, darin befinden sich die Werte der jeweilgen Spalte aller Datensätze. Der jeweils erste Wert gehört zum ersten Datensatz, der zweite zum zweiten, usw. Oder sie sind über einen gleichen Key-Wert als zusammenhängender Datensatz zu erkennen.
echo "$verabschiedung $name";