array=( [index]=value ).
declare -A foo foo=( myvalue )
declare -A foo foo=( [key]=myvalue )
You appear to be initializing or appending an array element to an associative array without giving it an index. In an indexed array, elements will be auto-indexed by incremented characters. In associative arrays, the index must be given explicitly.
This could happen because of invalid spaces or otherwise malformed index assignment, such as
array=( [key] = value ). This should instead be
array=( [key]=value ).
ShellCheck may be confused when a variable name is reused in different contexts. If shellcheck mistakenly believes the array is associated, please ignore this error.
ShellCheck is a static analysis tool for shell scripts. This page is part of its documentation.