UDF > Array >


_ArrayFindAll

Trouve les index de toutes les occurrences d'une requête de recherche entre deux points d'un tableau 1D ou 2D en utilisant _ArraySearch()

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

Paramètres

$aArray Le tableau dans lequel lancer la recherche
$vValue Ce qu'il faut chercher dans $aArray
$iStart [optionnel] Index du tableau où commencer la recherche
$iEnd [optionnel] Index du tableau où terminer la recherche
$iCase [optionnel] Si la valeur est 1, la recherche est sensible à la casse
$iCompare [optionnel]
    0 - Caste les variables à un même type (par défaut), "string" = 0, "" = 0 ou "0" = 0 réalise l'égalité si $iCase = 0
    1 - Exécute une recherche partielle
    2 - La comparaison réussie si les variables ont le même type et la même valeur
    3 - Compare en utilisant une expression régulière fournie dans $vValue
$iSubItem [optionnel] Sous-index pour rechercher dans un tableau 2D
$bRow [optionnel] Si True, $iSubItem définit la ligne où rechercher - False (par défaut) recherche dans la colonne

Valeur de retour

Succès: Retourne le tableau de tous les index du tableau initial contenant $vValeur.
Échec: Définit @error <> 0 (consultez _ArraySearch() pour une description de @error ).

Remarque

Les valeurs de $iCompare ne peuvent pas être combinées.

En relation

_ArrayBinarySearch, _ArraySearch

Exemple

#include <Array.au3>

Local $aArray[5] = [0, 1, 2, 1, 0]
_ArrayDisplay($aArray, "Tableau 1D")
Local $aiResult = _ArrayFindAll($aArray, 0)
_ArrayDisplay($aiResult, "Trouvé")

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, "Tableau 2D")

Local $aResult = _ArrayFindAll($aArray, 0, Default, Default, Default, Default, 4)
_ArrayDisplay($aResult, "Trouvé dans la colonne 4")

$aResult = _ArrayFindAll($aArray, 1, Default, Default, Default, Default, 2, True)
_ArrayDisplay($aResult, "Trouvé dans la ligne 2")