Hallo,
ich bekomme es leider nicht hin.
Ich versuche 2 Arrays zu vergleichen und bei Übereinstimmung die Werte beider Arrays in einem neuen Array zusammenzufügen.
Hier ist mein Ansatz:
Spoiler anzeigen
AutoIt
#include <Array.au3>
#include <AutoItConstants.au3>
#include <MsgBoxConstants.au3>
Global $aarray1 = [["Banane", "16,95"], ["Apfel", "20,5"], ["Birne", "20,5"]]
Global $aarray2 = [["Banane", "16.11", '2 / 3'], ["Apfel", "20.11", '2 / 5'], ['Kirsche', '23.11', '4 / 9']]
$aresultcomp = _ArrayCompare($aarray1, $aarray2)
_ArrayDisplay($aresultcomp)
Func _ArrayCompare($aarray1, $aarray2)
Local $aArray3[][] = [[0, 0]], $iNeu, $i
For $i = 0 To UBound($aarray1) - 1
If _callcomparison($aarray2, $aarray1[$i][0]) Then
MsgBox(0, '', $aarray1[$i][0])
$iNeu = UBound($aArray3) + $i
ReDim $aarray1[$iNeu][0]
$avArray3 = $aarray1
EndIf
Next
_ArrayDisplay($avArray3)
EndFunc ;==>_ArrayCompare
Func _callcomparison($aAr1, $aAr2)
Local $i
For $i = 0 To UBound($aAr1) - 1
If $aAr1[$i][0] = $aAr2 Then Return True
;~ MsgBox(0, '', 'RICHTIG ' & $aAr1[$i][0] & " test " & $aAr2)
;~ Else
;~ If $aAr1[$i][0] <> $aAr2 Then MsgBox(0, '', 'Falsch ' & $aAr1[$i][0] & " test " & $aAr2)
;~ EndIf
Next
;~ Return True
EndFunc ;==>_callcomparison
Alles anzeigen
Könnt Ihr mir helfen?
VG
horphi