support $#array