require array_count
array_ismember ()
{
local array=$1
local member="$2"
local arrlen=`array_count $array`
for ((i = 0; i < arrlen; i++))
do eval [[ "\${${array}[i]}" == "\$member" ]] && return 0;
done
return 1
}
array_ismember_unique ()
{
local array=$1
local member="$2"
local arrlen=`array_count $array`
local already
for ((i = 0; i < arrlen; i++))
do
if eval [[ "\${${array}[i]}" == "\$member" ]]
then
if ((already))
then return 1
else already=1
fi
fi
done
if ((already))
then return 0
else return 1
fi
}