%

Bash : function array_search()

Fonction array_search() en bash équivalente à celle de PHP

Détails relatifs à l'article

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

Cet article contient 121 mots.

Identifiant de l'article : tag:doc.huc.fr.eu.org,2017-07-29:/fr/dev/bash/function-array-search


Source brute de l'article :
Commit version : 9bf3d7b


Cet article est aussi disponible sur le protocole Gemini :
gemini://gmi.it-log.fr.eu.org/fr/dev/bash/function-array-search.gmi


Description

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

Équivalent à la function [PHP array_search

Code source

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[@]}")"


Enjoy-ID!
Enjoy-IT!