%

Bash : function array_search()

Article published the ; modified the
One minute to read

This article has 121 words.
RAW source of the article:
Commit version: e21600e

Description

array_search(): Searches the array for a given value and returns the corresponding key if successful

Équivalent à la function [PHP array_search

Source Code

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

}

Parameters

  • needle is the searched value
  • haystack is the array where to search

Return Values

  • Returns the key for needle, if is found into the array haystack
  • Otherwise, returns 1: considere this value as FALSE.

Example

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