I use the same technique for all variables in bash, and it works, e.g.:
[ ${foobar[@]foobar} ] && echo "foobar is set" || echo "foobar is unset"
outputs:
foobar is unset
whilst
foobar=( "val" "val2" )
[ ${foobar[@]foobar} ] && echo "foobar is set" || echo "foobar is unset"
outputs:
foobar is set