Hmm.. du hast recht. Das Ergebnis ist falsch. Nur kann ich bisher nicht erkennen warum der Fehler entsteht. Wenn ich mir in der Schleife die Werte anzeigen lasse, ist alles korrekt ( $i=1; $xma[7]=$tmp[1] ) usw.
Lasse ich mir aber das fertige array anzeigen, sind die Einträge völlig durcheinander bzw. einer fehlt sogar.
Ich such mal weiter.
Spoiler anzeigen
#include <Array.au3>
Dim $tmp[25] ; $tmp[0] lassen wir leer, damit Index 1 auch Eintrag 1 ist
Dim $xma[25]
For $i = 1 To 24
$tmp[$i] = "$tmp-Pos: "&$i ; die Daten, die nach dem Muster von $sortIndex sortiert werden sollen
Next
$tmpsort="7,19,11,23,5,17,6,18,8,19,3,15,12,24,1,13,2,14,4,16,10,22,9,21"
$sortIndex = StringSplit($tmpsort,",")
_ArrayDisplay($sortIndex,"SortIndex") ; hier stimmt alles
For $i = 1 To $sortIndex[0]
$xma[$sortIndex[$i]] = $tmp[$i] ; auch das ist alles OK
Next
_ArrayDisplay($xma,"Sortiert nach Schlüssel") ; nur noch Schwachsinn