Vertauscht die Elemente eines 1D Arrays und manche bzw die kompletten Zeilen bzw. Spalten eines 2D Arrays
#include <Array.au3>
_ArraySwap ( ByRef $aArray, $iIndex_1, $iIndex_2 [, $bCol = False [, $iStart = -1 [, $iEnd = -1]]] )
$aArray | zu änderndes Array |
$iIndex_1 | zu tauschender Index des ersten Elements (1D) oder Zeile bzw. Spalte (2D) |
$iIndex_2 | zu tauschender Index des zweiten Elements (1D) oder Zeile bzw. Spalte (2D) |
$bCol | [optional] Falls True beziehen sich obige Parameter auf Spalten (2D Array); Falls False (Standard) beziehen sich obige Parameter auf Zeilen |
$iStart | [optional] Index der Zeile bzw. Spalte bei der das tauschen beginnt (nur 2D Array) |
$iEnd | [optional] Index der Zeile bzw. Spalte bei der das tauschen endet (nur 2D Array) |
Erfolg: | 1 |
Fehler: | -1 und setzt das @error Flag auf ungleich null. |
@error: | 1 - $aArray ist kein Array 2 - $aArray ist kein 1D oder 2D Array 3 - $iIndex_1 oder $iIndex_2 außerhalb der Arraygrenzen 4 - $iStart oder $iEnd außerhalb der Arraygrenzen 5 - $iStart ist größer als $iEnd |
Die optionalen Parameters werden bei 1D Arrays ignoriert.
#include <Array.au3>
Local $aArray[10] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
_ArrayDisplay($aArray, "Original", Default, 8)
_ArraySwap($aArray, 3, 7)
_ArrayDisplay($aArray, "Getauscht 3 und 7", Default, 8)
Local $aArray_Base[10][10]
For $i = 0 To 9
For $j = 0 To 9
$aArray_Base[$i][$j] = $i & " - " & $j
Next
Next
_ArrayDisplay($aArray_Base, "Original", Default, 8)
$aArray = $aArray_Base
_ArraySwap($aArray, 3, 7)
_ArrayDisplay($aArray, "Getauscht Zeilen 3 und 7 in allen Spalten", Default, 8)
$aArray = $aArray_Base
_ArraySwap($aArray, 3, 7, False, 2, 5)
_ArrayDisplay($aArray, "Getauscht Zeilen 3 und 7 in den Spalten 2 bis 5", Default, 8)
$aArray = $aArray_Base
_ArraySwap($aArray, 3, 7, True)
_ArrayDisplay($aArray, "Getauscht Spalten 3 und 7 in allen Zeilen", Default, 8)
$aArray = $aArray_Base
_ArraySwap($aArray, 3, 7, True, 2, 5)
_ArrayDisplay($aArray, "Getauscht Spalten 3 und 7 in den Spalten 2 bis 5", Default, 8)