$ a[foo]='bar'
$ echo ${a[foo]}
bar
$
И давно так? В мане говорится только про «number greater than or equal to zero»: «An array is created automatically if any variable is assigned to using the syntax name[subscript]=value. The subscript is treated as an arithmetic expression that must evaluate to a number greater than or equal to zero.»