↑  ←  Описание функции


_ArrayFindAll

Найти индексы всех ячеек соответствующие поисковому запросу между двумя указанными ячейками одномерного или двумерного массива используя _ArraySearch() в цикле.

#include <Array.au3>
_ArrayFindAll(Const ByRef $avArray, $vValue [, $iStart = 0 [, $iEnd = 0 [, $iCase = 0 [, $iCompare = 0 [, $iSubItem = 0]]]]])

Параметры

$avArray Массив для поиска
$vValue Значение для поиска в массиве
$iStart [необязательный] Индекс массива, от которого начинать поиск
$iEnd [необязательный] Индекс массива, в котором закончить поиск
$iCase [необязательный] Если установлено в 1, поиск с учетом регистра (по умолчанию 0)
$iCompare [необязательный]
    0 - (по умолчанию) Сравнение переменных AutoIt, "строка" = 0, "" = 0 или "0" = 0 это совпадения
    1 - осуществляется поиск части текста в содержимом каждой ячейки (StringInStr)
    2 - Сравнение совпадений, если переменная имеет тот же тип и значение
$iSubItem [необязательный] Индекс колонки для поиска в двумерном массиве

Возвращаемое значение

Успех:Возвращает массив всех индексов, содержащих значение $vValue в массиве
Ошибка:Возвращает -1, устанавливает @error (смотрите описание кодов ошибок функции _ArraySearch() )

Примечания

Возвращаемый массив не содержит количество индексов в первом элементе, поэтому необходимо воспользоваться функцией UBound.

См. также

_ArrayBinarySearch, _ArraySearch

Пример

#include <Array.au3>

Local $avArray[5] = ['aa', 'bb', 'cc', 'bb', 'aa']
_ArrayDisplay($avArray, "Поиск 'aa'") ; Просмотр массива, в котором поиск
Local $aiResult = _ArrayFindAll($avArray, 'aa') ; Поиск всех
_ArrayDisplay($aiResult, "Индексы") ; Результаты поиска 'aa' в массиве $avArray