%

Bash : function array_search()

Article publié, le et modifié le
Une minute de lecture

Cet article contient 123 mots.
Source brute de l'article :
Commit version : e21600e

Description

array_search() : recherche dans un tableau la clé associée à une valeur

Équivalent à la function [PHP array_search

Code source

Code : bash

function array_search() {

    # equivalent to PHP array_search
    # call: array_search needle array

    local needle="$1" IFS=" "; shift; read -a array <<< "$@"

    for (( i=0; i < ${#array[*]}; i++ )); do
        if [[ "${array[$i]}" == "${needle}" ]]; then echo "$i"; fi
    done
    return 1

    unset array needle IFS

}

Paramètres

  • needle est la valeur à rechercher
  • haystack est le tableau dans lequel chercher

Valeurs de retour

  • Retourne la clé pour needle, si elle est trouvée dans le tableau haystack
  • Autrement retourne 1 : considérez cette valeur comme FALSE

Exemple

declare -a color=("blue", "red", "green", "grey"); echo "$(array_search "red" "${color[@]}")"