Funktionreferenz


_ArrayFindAll

Beschreibung anzeigen in

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]]]]]] )

Parameter

$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

Rückgabewert

Erfolg: Ein Array mit allen Indizen, welche $vValue enthalten
Fehler: Setzt das @error Flag auf ungleich null (siehe _ArraySearch() Beschreibung für @error)

Bemerkungen

Die Werte von $iCompare können nicht miteinander kombiniert werden.

Verwandte Funktionen

_ArrayBinarySearch, _ArraySearch

Beispiel

#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")