_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