Array 1D in 2D

  • Hai

    Also, ich möchte ein 1D Array, das so aussieht:

    [autoit]


    $ar1D[0] = '279,282'
    $ar1D[1] = '279,282'
    $ar1D[2] = 'x,y'

    [/autoit]

    in ein 2D Array umwandeln, damit das so aussieht:

    [autoit]


    $ar2D[0][0] = '279'
    $ar2D[0][1] = '282'

    [/autoit][autoit][/autoit][autoit]

    $ar2D[1][0] = '279'
    $ar2D[1][1] = '282'

    [/autoit][autoit][/autoit][autoit]

    $ar2D[2][0] = 'x'
    $ar2D[2][1] = 'y'

    [/autoit][autoit][/autoit][autoit]

    ...

    [/autoit]

    Blos weis ich nicht wie und hoffe ihr könnt mir helfen.

    Einmal editiert, zuletzt von Worfox (9. Juli 2008 um 17:51)

    • Offizieller Beitrag

    Hallo

    Jo, das geht. Hab dir mal schnell was geschrieben:

    Spoiler anzeigen
    [autoit]

    #include<Array.au3> ;brauchst du nur für ArrayDisplay, also nacher rausnehem
    Global $Array[2] = ["test,test2","test234,643"]
    $Array = _Array1dto2d($Array)
    _ArrayDisplay($Array)

    [/autoit] [autoit][/autoit] [autoit]

    ;by GtaSpider
    Func _Array1dto2d($aArray,$sSep = ",")
    Local $aRet[1][1]
    If Not IsArray($aArray) Then Return SetError(1,0,0)
    If UBound($aArray,2) Then SetError(2,0,0)
    For $i = 0 To UBound($aArray) - 1
    $aSS = StringSplit($aArray[$i],$sSep)
    ReDim $aRet[$i + 1][$aSS[0]]
    For $x = 0 To $aSS[0] - 1
    $aRet[$i][$x] = $aSS[$x + 1]
    Next
    Next
    Return $aRet
    EndFunc

    [/autoit]

    Mfg Spider