Sortierung eines Arrays

styri

Grünschnabel
Hallo zusammen!

Ich möchte ein Array nach eigener, durch ein 2. Array vorgegebener, Reihenfolge sortieren. Eine halbwegs einfache bestehende Funktion habe ich dafür nicht gefunden, also hab ich mich kurz selbst rangesetzt.
Ergebnis:
Code:
function arrangeArray($in,$arr){
	foreach ($in as $key => $value) {
		if ($key!=$arr[$key]) {
			$tmp=$value;
			$value=$in[$arr[$key]];
			$in[$arr[$key]]=$tmp;
		}
	}
	return $in;
}

Gut, praktisch sieht der Spaß dann so aus:
$in: [0] => home [1] => menue 2 [2] => new Textdatei
$arr: [0] => 1 [1] => 0 [2] => 2
klappt soweit. Mit
$arr: [0] => 2 [1] => 0 [2] => 1
geht irgendwas schief.

Wo ist mein Denkfehler?
Danke für eure Hilfe!
 
du überprüfst doch nur ob die Werte verschieden sind, aber nicht ob sie sich logisch ordnen, das solltest du noch einbauen.
 
Wenn du mit logischer Ordnung meinst, dass ich auf schon geänderte Array-Werte aus $in nochmal zugreife...Jap, that's right!

Habe das ganze nun über ein temporäres Array gelöst; da es keine großen Datenmengen sind, kein Problem.

Merci trotzdem ;)
 
Zuletzt bearbeitet:
Zurück