Bash : in_array

in_array : indique si une valeur appartient à un tableau

Équivalent à la function in_array

Code

 


function in_array() {

    # equivalent to PHP in_array
    # call: in_array needle array

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

    while [ $i -le ${#array[@]} ]; do
        if [[ "${array[$i]}" == "${needle}" ]]; then return 0; fi # true
        let "i = $i + 1"
    done
    return 1

    unset i needle IFS array

}
 

 

Paramètres

needle est la valeur recherchée.

haystack est le tableau

Valeurs de retour

Retourne 0, considéré comme TRUE, 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");

in_array "red" "${color[@]}"

if [[ $? -eq 0 ]]; then
    echo "Value here!"
fi
 

 

 

 


<<| Page : Bash : function : array : in_array : |


 

 

^ Haut de page ^