Findet die Indizes mit allen Vorkommen einer Suchabfrage zwischen zwei Punkten in einem 1D oder 2D Array durch das Benutzen von _ArraySearch()
#include <Array.au3>
_ArrayFindAll ( Const ByRef $aArray, $vValue [, $iStart = 0 [, $iEnd = 0 [, $iCase = 0 [, $iCompare = 0 [, $iSubItem = 0 [, $bRow = False]]]]]] )
$aArray | Das zu durchsuchende Array |
$vValue | Der zu suchende Wert in $aArray |
$iStart | [optional] Startindex des Arrays ab dem gesucht werden soll |
$iEnd | [optional] Endindex des Arrays bis zu dem gesucht werden soll |
$iCase | [optional] Falls auf 1 gesetzt, wird bei der Suche die Groß- und Kleinschreibung berücksichtigt |
$iCompare | [optional] 0 Vergleich von Variablen zu dem gleichen Typ (Standard), "String" = 0, "" = 0 oder "0" = 0 passt (Wenn $iCase = 0) 1 führt eine Teilsuche aus 2 Vergleich passt, wenn die Variablen vom gleichen Typ sind und den gleichen Wert haben 3 Vergleich verwendet einen durch $vValue bereitgestellten regulären Ausdruck |
$iSubItem | [optional] Subindex, in dem bei einem 2D Array gesucht werden soll |
$bRow | [optional] Wenn True, dann setzt $iSubItem die zu durchsuchende Zeile. False (Standard) durchsucht Spalten |
Erfolg: | Ein Array mit allen Indizen, welche $vValue enthalten |
Fehler: | Setzt das @error Flag auf ungleich null (siehe _ArraySearch() Beschreibung für @error) |
Die Werte von $iCompare können nicht miteinander kombiniert werden.
_ArrayBinarySearch, _ArraySearch
#include <Array.au3>
Local $aArray[5] = [0, 1, 2, 1, 0]
_ArrayDisplay($aArray, "1D Array")
Local $aiResult = _ArrayFindAll($aArray, 0)
_ArrayDisplay($aiResult, "Ergebnis")
Local $aArray[5][5] = [[0, 1, 2, 1, 0], _
[4, 5, 5, 4, 2], _
[4, 1, 3, 1, 3], _
[0, 3, 2, 1, 0], _
[1, 5, 5, 4, 1]]
_ArrayDisplay($aArray, "2D Array")
Local $aResult = _ArrayFindAll($aArray, 0, Default, Default, Default, Default, 4)
_ArrayDisplay($aResult, "Ergebnis in Spalte 4")
$aResult = _ArrayFindAll($aArray, 1, Default, Default, Default, Default, 2, True)
_ArrayDisplay($aResult, "Ergebnis in Zeile 2")